列表和元祖都屬於序列的一種,列表可以修改,元祖不能修改。序列裡面可以再包含序列。
所有序列的通用操作
索引從0開始,表示從左邊開始的第乙個,也可以從-1開始,表示最右邊的第乙個。
>>> mylist = "201526"
>>> mylist[3]
'5'>>> mylist[-3]
'5'>>> mylist[-2]
'2'分片
分片就是提供兩個索引做為邊界,第乙個索引的元素是包含在分片內的第二個是不包含在內的,也就是前閉後開,中間以冒號分隔
mylist[0:-1]
'20152'
更大的步長
步長就是在分片的基礎上面再在後面加個步長,用冒號分開
>>> mylist[0:-1:2]
'212'
序列相加
序列相加,使用加運算子即可實現。
>>> mylist + "2334"
'2015262334'
>>> mylist + [1,2,3]
traceback (most recent call last):
file "", line 1, in
typeerror: cannot concatenate 'str' and 'list' objects
序列相加必須是同種型別的序列
序列乘法
序列乘法就是用乙個序列乘以數字x,原來的序列被重複x次
mylist*5
'201526201526201526201526201526'
none
none模擬c或者c++的null,可以做為初始化時使用
>>> mylist=[none,none,none]
>>> mylist
[none, none, none]
成員資格
檢查乙個值是否在序列中,可以使用in運算子,返回值型別為布林。
>>> none in mylist
true
>>> 1 in mylist
false
長度,最小值,最大值
len返回序列中包含的元素數量,min 和max返回序列中最大和最小元素
>>> mylist=[1,2,3]
>>> max(mylist)
3>>> min(mylist)
1>>> len(mylist) 3列表
列表的各個元素通過
逗號分隔,然後寫在
方括號裡面。
list函式
字串是個常亮,字串本身不可以修改,但是通過字串建立列表之後就可以修改了,
list函式就可以實現這個功能,模擬建構函式吧
>>> mylist=list("hello,world")
>>> mylist
['h', 'e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l', 'd']
列表基本操作
元素賦值
使用列表名加上對應下標即可
>>> mylist[0]='h'
>>> mylist
['h', 'e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l', 'd']
刪除元素
del語句即可,格式為del 列表名[下標]
>>> del mylist[0]
>>> mylist
['e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l', 'd']
分片賦值
使用序列分片的通用格式,然後賦值即可
>>> mylist[1:3] = "ne"
>>> mylist
['e', 'n', 'e', 'o', ',', 'w', 'o', 'r', 'l', 'd']
小技巧
>>> mylist[0:0]="add"
>>> mylist
['a', 'd', 'd', 'e', 'n', 'e', 'o', ',', 'w', 'o', 'r', 'l', 'd']
這樣就可以等同於兩個列表相加了,
那麼刪除則可以通過賦空值來實現
>>> mylist[0:3]=
>>> mylist
['e', 'n', 'e', 'o', ',', 'w', 'o', 'r', 'l', 'd']
列表方法:
count 統計某個元素在列表裡面出現的次數
extend 一次性追加另乙個序列中的多個值
index 用於獲取列表某個值第一次出現的位置
insert 用於將物件插入到指定位置,insert沒有那種類似extend的功能。
>>> mylist
[1, 2, 3]
>>> mylist.insert(2,"abcd")
>>> mylist
[1, 2, 'abcd', 3]
>>> mylist.insert(2,[9,8,7])
>>> mylist
[1, 2, [9, 8, 7], 'abcd', 3]
pop 移除列表最後乙個元素
remove 移除列表裡面第乙個匹配的值。
reverse 列表元素反向存放
sort 對列表排序,注意的是記憶體已經修改,不是返回副本;sort可以使用自定義比較函式,
使用方式 列表名.sort(函式名) 跟stl的容器一樣
元組元祖是不可變序列
表示形式為:元素之間用逗號分開,用圓括號括起來。
>>> mylist=(1,)
>>> mylist
(1,)
>>> mylist=(2,)
>>> mylist[0]=3
traceback (most recent call last):
file "", line 1, in
typeerror: 'tuple' object does not support item assignment
tuple函式功能與list相同,把乙個序列轉換為元祖,如果序列是元祖,那麼就原樣返回,如果是列表,就轉換格式。
>>> mylist=tuple((1,2,3,))
>>> mylist
(1, 2, 3)
>>> mylist=tuple([1,2,3,])
>>> mylist
(1, 2, 3)
>>> mylist=tuple([1,2,3])
>>> mylist
(1, 2, 3)
元祖存在的意義:
可以做為字典的key;可以做為函式的返回值
Python基礎教程 讀書筆記三
1.所有的標準序列操作都使用於字串,記住字串不可改變。2.字串格式化 標記轉換說明符 如果字串本身包含 用 代替。3.字串格式化轉換標誌 表示左對齊 表示在轉換值前加正負號 空白字元 表示正數之前保留空格 0表示轉換值若位數不夠用0填充。4.find str,begin index,end inde...
《python基礎教程》 讀書筆記(2)
所有標準的序列操作 索引 分片 乘法 判斷成員資格 求長度 取最大和最小值 對字串同樣適用。但是,字串是不可改變的。find find方法可以在乙個較長的字串中查詢子串,它返回字串所在位置的最左端索引,如果沒有找到則返回 1。title to be or not to be title.find b...
《python基礎教程》 讀書筆記 6
from random import choice 標準庫 random中包涵choice函式,可以從序列中隨機挑選出元素,給變數賦值 執行後你不必關心x是那種型別,只需知道x有個叫count的方法及它的呼叫方式和返回值類 x choice hello world 1,2,3,e 4,e print...