列表 (list) 和元組 (tuple)
python中有6中內建序列(sequence):list,tuple,字串,unicode字串,buffer,xrange。
序列和對映是兩種主要的容器(container)。
序列包括 list 和 tuple , 對映包括 dict
set 即不是序列又不是對映
序列操作:indexing,slicing,adding,multiplying
slicing:第乙個引數包含,第二個不包含,可以用第三個引數指定步長,步長可以是負數。
in [4]: a
out[4]: [0, 1, 2, 3, 4, 5, 6, 7, 8]
in [5]: a[8:3:-2]
out[5]: [8, 6, 4]
adding:同類序列可以相加,進行連線
multiplying:新的序列重複原有序列,乘數為重複次數
in [6]: a = [1,2] * 8
aout[7]: [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
none 用來代表空值,類似matlab的nan,如需要無值的初始化,可以:
a = [none] * 6
aout[9]: [none, none, none, none, none, none]
成員資格:in 來檢查是否是成員,對於字串可以如下:(python2.3起)
in [10]: sub = 'too young too ******'
in [11]: 'you' in sub
out[11]: true
in [12]: '*****' in sub
out[12]: false
分片賦值:可以替換成與原序列不等長的內容:
name = list('pear')
name
out[26]: ['p', 'e', 'a', 'r']
name[1:] = list('ahahaha')
name
out[28]: ['p', 'a', 'h', 'a', 'h', 'a', 'h', 'a']
同時分片賦值還能實現 insert 的 method 功能,非常高階666:
numbers = range(5)
numbers
out[14]: [0, 1, 2, 3, 4]
numbers[1:1]
out[15]:
numbers[1:1] = [666,666]
numbers
out[17]: [0, 666, 666, 1, 2, 3, 4]
a
out[30]: [3, 5, 1, 8, 6, 9]
sorted(a)
out[31]: [1, 3, 5, 6, 8, 9]
aout[32]: [3, 5, 1, 8, 6, 9]
a.sort()
aout[34]: [1, 3, 5, 6, 8, 9]
sort 排序可以傳引數,key可以傳len,表示按照長度排序。反向排序reverse=true:
a.sort(reverse=true)
aout[40]: [9, 8, 6, 5, 3, 1]
tuple 是不可變的 sequence,不能修改。用逗號分割一些值實際上就是創造了tuple,而單個值加逗號也可以建立tuple:
1,
out[41]: (1,)
1,2,3
out[42]: (1, 2, 3)
tuple 能在對映(dict)和集合的成員中作 key ,而 list 不行。
tuple 作為很多內建函式的返回值。
the end
python 從入門到放棄
本人所有關於python的內容均為學習期間的整理的筆記,希望可以給學習者帶來些許幫助!不過一入it深似海!準備入行者請做好充分的心理準備!計算機的知識跟新迭代速度很快,不學習就會被淘汰!如果你打算入行然後找乙份安穩的工作安度餘生,那麼我還是建議去考公務員吧!這個行業可能並不適合你!有不少的人可能都覺...
Python 從入門到放棄(三)
2011 12 11 mon 13 58 直接建立 phonebook phonebook out 224 phonebook dict alice 1234 bob 2345 注意關鍵字不能是expression,不是 alice 而是alice phonebook out 228 或者通過鍵值對...
Python從入門到放棄 一 概論
1.軟體質量 1.python程式有很好的可讀性,一致性和軟體質量。2.python支援軟體開發的高階重用機制,例如物件導向等 2.提高開發者效率 1.python作為開發工具均以付出更少的精力完成更多的任務而脫穎而出。3.可以定義為物件導向的指令碼語言。4.有缺點,是不夠快 純python 的執行...