Python學習筆記-列表與元組
·序列
筆記:
在 Python 中,最基本的資料結構為 序列 。序列中每個元素都有編號,其位置或索引,其中 第一個元素索引為 0 ,第二個為 1 ,以此類推 。
Python 內建多種序列,其中包含 列表、元組、字元 串等,他們都可以稱為 “容器” (字典也稱作容器)。
注意:列表可以修改,而元組和字串則不能修改(可以重新賦值)。
@通用的序列操作:
1索引:訪問列表中的元素
正向索引:
x = "請輸入帶有符號的溫度值:" print(x[1]) 列印結果: 輸
x = "請輸入帶有符號的溫度值:"[1] print(x) 列印結果: 輸
反向索引:
x = "請輸入帶有符號的溫度值:" print(x[-1]) 列印結果: :
2切片:訪問多個特定範圍內的元素
x = "請輸入帶有符號的溫度值:" print(x[0:3]) 列印結果: 請輸入
x = "請輸入帶有符號的溫度值:" print(x[-3:-1]) 列印結果: 度值(包左不包右)
x = "請輸入帶有符號的溫度值:" print(x[-1:-3]) 列印結果: (值為空,切片反向遞減,索引應從小到大)
切片遍歷整個序列:
x = "請輸入帶有符號的溫度值:" print(x[:]) 列印結果: 請輸入帶有符號的溫度值: ([:]遍歷整個序列)
序列步長:
x = "請輸入帶有符號的溫度值:" print(x[0:12:2]) #步長為2(步長不能為0,否者無法向前移動,可以為負數,即從右向左提取元素。 ) 列印結果: 請入有號溫值
筆記:切片提供兩個索引來指定切片範圍,第一個索引的元素包含在切片內,第二個索引指定的元素不包含在切片內。 (包左不包右)
3相加:序列的拼接
字串拼接:
x = "hello" y = ",world" print(x+y) 列印結果: hello,world
序列拼接
x = [1,2,3] y = [4,5,6] print(x+y) 列印結果: [1, 2, 3, 4, 5, 6]
字串和序列拼接
x = "hello" y = [4,5,6] print(x+y) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only concatenate str (not "list") to str
筆記:不能拼接不同型別的序列。
4 相乘:建立 n 個空元素
x = [None]*10 print(x) 列印結果: [None, None, None, None, None, None, None, None, None, None]
5 成員資格:檢查特定的值是否包含在序列中, in 和 not in (返回值為 bool 值)
x = "abcdefg" print('w' not in x) 列印結果: True
x = "abcdefg" print('a' in x) 列印結果: True
·列表(list )
筆記:
list() :它實際上是一個類,有很多特有的方法。
將字串轉換為字串列表:
x = list("hello") print(x) 列印結果: ['h', 'e', 'l', 'l', 'o']
將字串列表轉換為字串:
x = ['h', 'e', 'l', 'l', 'o'] print(''.join(x)) 列印結果: hello
@列表的基本操作:
1 修改列表:給元素賦值
x = [1,3,3] x[1] = 2 print(x) 列印結果: [1, 2, 3]
2 刪除列表中的元素
x = [1,3,3] del x[1] print(x) 列印結果: [1, 3]
3 切片賦值
插入:
x = [1,5] x[1:1] = [2,3,4] #[1:1]在索引 1 後插入[1,2,3] print(x) 列印結果: [1, 2, 3, 4, 5]
替換:
x = list("persons") x[1:] = list("ython") #[1:]可將索引 1 後的切片全部替換 print(x) 列印結果: ['p', 'y', 't', 'h', 'o', 'n']
@列表中的方法
1 append:新增一個物件到末尾
2 pop:刪除末尾最後一個元素
3 clear:清空表格
4 copy:複製列表
5 count:計算列表中特定元素出現了多少次
6 extend:將多個值新增到列表末尾(需要區分與拼接的不同,拼接不改變x值)
7 index:查詢指定值第一次出現的索引
8 insert:在指定位置差入一個物件(可讀性優於extend)
9 remove:刪除指定值的元素
10 reverse:反向排序列表中的元素
11 sort:接受key和reverse兩個引數,對列表中的數進行有邏輯的排序(永久排序)
順序:
x = [5,2,1,4,3] x.sort() print(x) 列印結果: [1, 2, 3, 4, 5]
倒序:
x = [5,2,1,4,3] x.sort(reverse = True) print(x) #列印結果: [5, 4, 3, 2, 1]
按元素長度排序:
x = ['apple','beer','to','g','banana'] x.sort(key=len) print(x) #列印結果: ['g', 'to', 'beer', 'apple', 'banana']
12 sorted函式:臨時排序
13 len函式:獲取列表的長度
·元組(tuple)
筆記:
元組也是序列,區別在於 元組不能修改 。
print(tuple([1,2,3])) print(tuple("abcdefg")) #列印結果: (1, 2, 3) ('a', 'b', 'c', 'd', 'e', 'f', 'g')
將元組賦值給x:
x = 1,2,3 print(x) #列印結果: (1, 2, 3)
建立多個元組:
x = 3 * (40+2,) print(x) #列印結果: (42, 42, 42)
元組中只有一個值時,也必須在它後面加逗號(,):
x = (2,) print(x) #列印結果: (2,)
end~
****** 幾米花的Python ****** 部落格主頁:https://www.cnblogs.com/jimmy-share/ 歡迎轉載 ~