清單
list在循環的時候不能删,因為會改變索引
ls = ['aaa', 'bbb', 'ccc', 'ddd']
for el in ls:
print(el)
ls.remove(el)
print(ls)
結果:
aaa
ccc
['bbb', 'ddd']
names = ["aa", 'bb', 'cc', 'dd', 'ee', 77]
print(names) # ['aa', 'bb', 'cc', 'dd', 'ee', 77]
print(names[0]) # aa
print(names[-1]) # 77
print(names[1], names[4]) # bb ee
print(names[:3]) # ['aa', 'bb', 'cc']
print(names[-2:]) # ['ee', 77]
names = ["aa", 'bb', 'cc', 'dd', 'ee', 77]
print(names.index('cc')) # 2 查cc的位置
print(names[names.index('cc')]) # cc
插入
names = ["aa", 'bb', 'cc', 'dd', 'ee', 77]
names.append('ff') # 往清單的最後插入元素
print(names) # ['aa', 'bb', 'cc', 'dd', 'ee', 77, 'ff']
names.insert(2, 'gg') # 往清單的指定位置插入元素
print(names) # ['aa', 'bb', 'gg', 'cc', 'dd', 'ee', 77, 'ff']
删除
names = ["aa", 'bb', 'cc', 'dd', 'ee', 77]
print(names) # ['aa', 'bb', 'cc', 'dd', 'ee', 77]
names.pop() # 删除清單中的最後一個元素
print(names) # ['aa', 'bb', 'cc', 'dd', 'ee']
names.pop(2) # 删除清單中的第三個元素
print(names) # ['aa', 'bb', 'dd', 'ee']
names.remove('dd') # 删除清單中為dd的元素
print(names) # ['aa', 'bb', 'ee']
del names[1] # del names[1] =names.pop(1)
print(names) # ['aa', 'ee']
names.clear() # 清除清單中的元素
print(names) # []
del names # 删除清單
names = ["aa", 'bb', 'cc', 'dd', 'ee', '77']
print(names)
names.reverse() # 倒序排列
print(names)
names.sort() # 排序,按符号,數字,大小寫
print(names)
name2 = ['ff', 'gg']
names.extend(name2) # 将name2合并到names中
print(names)
names.insert(2, 'ee')
print(names)
print(names.count('ee')) # 查詢有幾個ee
結果:
['aa', 'bb', 'cc', 'dd', 'ee', '77']
['77', 'ee', 'dd', 'cc', 'bb', 'aa']
['77', 'aa', 'bb', 'cc', 'dd', 'ee']
['77', 'aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg']
['77', 'aa', 'ee', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg']
2
如果數字不用引号括起來運作排序時錯誤,字元串和數字不能比較
names = ["aa", 'bb', ['zou', 'xx'], 'cc', 'dd', 'ee', '77']
print(names)
print(names[0:-1:2])
print(names[::2])
結果:
['aa', 'bb', ['zou', 'xx'], 'cc', 'dd', 'ee', '77']
['aa', ['zou', 'xx'], 'dd']
['aa', ['zou', 'xx'], 'dd', '77']
元組
- 不可變的清單. 隻讀清單. 有索引和切片.
- 不可變的是它内部子元素. 如果子元素是清單. 清單中的元素是可以變的.
- 元組: 俗稱不可變的列表.又被成為隻讀列表, 元組也是python的基本資料類型之一, 用小括号括起來, ⾥面可以放任何資料類型的資料, 查詢可以. 循環也可以. 切片也可以. 但就是不能改.
- 關于不可變, 注意: 這里元組的不可變的意思是子元素不可變. 而子元素内部的子元素是可以變, 這取決于子元素是否是可變對象.
- 元組中如果隻有一個元素. 一定要添加一個逗号, 否則就不是元組
- 元組也有count(), index(), len()等方法. 可以自己測試使⽤
tu = (1, "馬化騰", ["胡辣湯", "疙瘩湯", "蕃茄雞蛋湯"])
tu[2].append("粘包米") # 元組本身沒有變.變的是兒子中的内容
print(tu) # (1, '馬化騰', ['胡辣湯', '疙瘩湯', '蕃茄雞蛋湯', '粘包米'])
元組裡隻有一個元素時,要加逗号
tu1 = (1,) # 需要添加一個逗号