python學習筆記二:列表
阿新 • • 發佈:2018-11-10
列表通過索引讀取資料:
#索引讀取資料
a = [1,2,3]
a[-1]
執行結果:3
列表支援巢狀:
b = [[1,2,3],[4,5,6]]
print(b)
執行結果:[[1, 2, 3], [4, 5, 6]]
列表可以修改:
b = [[1,2,3],[4,5,6]]
b[1][2]=4
print(b)
執行結果:[[1, 2, 3], [4, 5, 4]]
列表的切片:
a = [1,2,3,4,5,6,7] #正向索引,取前4個元素,步長為1 print(a[0:4:1]) 執行結果:[1, 2, 3, 4] #反向索引 print(a[-1:-4:-1]) 執行結果:[7,6,5] #若取2,4,6,則步長為2 a[1::2] 執行結果:[2,4,6]
列表的新增操作:
#1.加號
a = [1,2,3]
b = [4,5,6]
print(a+b)
print(id(a))
執行結果:[1, 2, 3, 4, 5, 6]
87703240
#2.extend:接受引數b並將引數b的全部元素新增到原有列表中,原地修改列表而不新建列表
a.extend(b)
print(a)
print(id(a))
執行結果:[1, 2, 3, 4, 5, 6]
87703240
#3.append:新增任意物件到列表的末端 a = [1,2,3] a.append(4) print(a) 執行結果:[1,2,3,4] a.append([5,6,7]) print(a) 執行結果:[1,2,3,4,[5,6,7]]
#4.insert:插入任意物件到列表中,可以控制插入位置
a = [1,2,3]
a.insert(1,'ab')
print(a)
執行結果:[1, 'ab', 2, 3]
列表的刪除操作:
#1.del:通過索應刪除指定位置的元素
a = [1,2,3]
del a[0]
print(a)
執行結果:[2,3]
a = [1,2,3]
b = a
del a[:] #刪除物件,並沒刪除地址
print(id(a))
b
執行結果:94939912
[]
a = [1,2,3] b = a del a #刪除地址,並沒有刪除物件 b 執行結果:[1, 2, 3] print(id(a)) 執行結果:NameError: name 'a' is not defined
#2.remove:移除列表中找到的第一個值,如果沒找到,會報錯
a = [1,2,3,2]
a.remove(2)
print(a)
執行結果:[1,3,2]
#3.pop:返回最後一個元素,並從list中刪除它
a = [1,2,3]
b = a.pop()
print(b)
print(a)
執行結果:3
[1,2]
列表的成員關係:
#in not in可以判斷一個元素是否在列表裡
a = [1,2,3]
print(1 in a)
執行結果:True
print(2 not in a)
執行結果:False
print(3 in a)
執行結果:True
列表推導式:
a = [i*i for i in range(1,6)]
print(a)
執行結果:[1, 4, 9, 16, 25]
#加入判斷語句
b = [i for i in range(1,6) if i%2==1]
print(b)
執行結果:[1, 3, 5]
#生成字串
['the %s' % i for i in range(6)]
執行結果:['the 0', 'the 1', 'the 2', 'the 3', 'the 4', 'the 5']
#生成元組
[(x,y) for x in range(2) for y in range(2)]
執行結果:[(0, 0), (0, 1), (1, 0), (1, 1)]
#生成字典
dict([(x,y) for x in range(2) for y in range(2)])
執行結果:{0: 1, 1: 1}
#其實是先生成了0:0,再生成0:1,後面的鍵0將前面的鍵0覆蓋了
列表的排序翻轉:
#列表的排序和翻轉:是直接修改原列表,返回值為none
a = [1,2,4,3]
b = a.sort()#從小到大
print(a)
print(b)
執行結果:[1, 2, 3, 4]
None
c = a.reverse()#原地翻轉
print(a)
執行結果:[4, 3, 2, 1]
內建list方法:
a = 'abc'
list(a)
執行結果:['a', 'b', 'c']
b = (1,2,3,4)
list(b)
執行結果:[1, 2, 3, 4]