zoukankan      html  css  js  c++  java
  • Python 进阶知识点

    itertools 模块

    import itertools as its
    
    # 产生ABCD的全排列
    a = its.permutations('abcd')
    for item in a:
          print(type(item),item)
    

    # 产生ABCDE的五选三组合
    b = its.combinations('ABCDE', 3)
    

    # 产生ABCD和123的笛卡尔积
    c = its.product('ABCD', '123')
    
    

    # 产生 `A / B / C / A / B` 的顺序无限循环序列
    d = its.cycle(('A', 'B', 'C'))
    count = 0
    for item in d:
          print(type(item),item)
          count += 1
          if count>10:
                break
    

    collections 模块

    namedtuple

    namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。

    from collections import namedtuple
    
    Point = namedtuple('Point',['x','y','z'])
    
    p = Point(1,2,3)
    
    print(p.x)
    

    deque

    deque除了实现list的append()和pop()外,还支持appendleft()和popleft(),这样就可以非常高效地往头部添加或删除元素。

    from collections import deque
    a = deque([1,2,3,4])
    print(a)
    print(a.pop())
    print(a.popleft())
    a.append(1)
    a.appendleft(4)
    print(a)
    

    defaultdict

    除了在Key不存在时返回默认值,defaultdict的其他行为跟dict是完全一样的。

    from collections import defaultdict
    d = defaultdict(lambda:'n/a')
    d['a'] = 1
    print(d['a'])
    print(d['b'])
    

  • 相关阅读:
    Hibernate的检索
    Java 多线程
    可信软件开发
    Linux复习3
    Linux复习2
    Linux复习1
    使用Sourcetree(for windows)建立github同步仓库
    Session技术
    Cookie技术
    Ajax技术
  • 原文地址:https://www.cnblogs.com/linzhenyu/p/13255784.html
Copyright © 2011-2022 走看看