Python的一些技巧

列表切割

a = [1,2,3,4,5,6]
如果从列表的头部开始切割,那么忽略start,列如a[:3]-->[1,2,3]
如果一直切割到列表的尾部,那么可以忽略end,列如a[4:]-->[5,6]

列表推导式

a = [1,2,3,4,5,6]
half = map(lambda x:x/2,a)
half = [x/2 for x in a if x!=0]
#一个很大的好处是:列表推导式可以对值进行判断

用迭代器来保存数组

list = (x*2 for x in ragne(10000))#注意是圆括号,不是方括号
for i in list:
    print i,

迭代

  • 需要获取序列的index要用enumerate
  • enumerate可以接受第二个参数,作为迭代器加在index上的值

    a = [‘a’,’b’,’c’,’d’]
    for index,i in enumerate(a):
    print index,i
    输出:0,’a’
    1,’b’
    2,’c’
    3,’d’
    for index,i in enumerate(a,2):
    print 2,’a’
    3,’b’
    4,’c’
    5,’d’

用zip来同时遍历两个序列

a = [1,2,3]
b = ['a',',b','c','d']
#虽然列表长度不一样,但只要有一个列表耗尽,则迭代就会停止
for i,j in zip(a,b):
    print i,j
    输出:1,'a'
        2,'b'
        3,'c'

你可能感兴趣的:(python,python)