Python的一些技巧

Cosmop01itan發表於2017-04-27

列表切割

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'

相關文章