Python學習day04-列表魔法以及相關操作
阿新 • • 發佈:2018-12-11
一、列表的基本操作
列表: (1)列表中可以儲存任何型別,如:數字、字串、布林值、列表… (2)列表的儲存是不連續的,修改後還是本身列表(類似於C語言的連結串列) ①列表的取值 (1)索引取值
li=[1,2,"a","b"]
print(li[1]) #2
(2)切片取值 切片取值得到的還是一個列表
li=[1,2,"a","b"]
print(li[:3]) #[1, 2, 'a']
(3)for迴圈取值
li=[1,2,"a","b"]
for i in li:
print(i) #依次列印li內元素
②列表的修改 (1)通過索引修改
li=[1,2,"a","b"] li[2]="Hello" print(li) #[1, 2, 'Hello', 'b']
(2)通過切片修改
li=[1,2,"a","b"]
li[::2]=['c','d']
print(li) #['c', 2, 'd', 'b']
③in、not in操作 判斷內容存不存在列表內,返回布林值 只能判斷當前列表的選項,列表選項的子選項內容不能判斷
li=[1,2,"a","b"]
print('a' in li) #True
print(3 in li) #False
④列表與字串的轉換 (1)字串===>列表 直接用list強轉,實質上使用for迴圈將字串的內容一個一個放入列表中
s="abcde" print(list(s)) #['a', 'b', 'c', 'd', 'e']
(2)列表===>字串 當列表中只有字串時:用join方法拼接
li = ["123","alex"]
v = "".join(li)
print(v) #123alex
當列表中既有數字又有字串時:用for迴圈拼接
li=[1,2,"a","b"]
s = ""
for i in li:
s+= str(i)
print(s) #12ab
二、列表的魔法、方法
①元素的新增 (1)append:尾部新增 將引數內的元素作為一個整體新增到列表中
li=[1,2,"a","b"] li.append("你好") print(li) #[1, 2, 'a', 'b', '你好']
(2)extend:尾部新增 將引數內的元素做分割,一個一個放入列表中
li=[1,2,"a","b"]
li.extend("12")
print(li) #[1, 2, 'a', 'b', '1', '2']
(3)insert:指定索引新增
li=[1,2,"a","b"]
li.insert(1,100)
print(li) #[1, 100, 2, 'a', 'b']
②元素的刪除 (1)pop 無參時預設從尾部刪除 有引數時:引數為要刪除元素的索引 可以得到刪除的元素
li=[1,2,"a","b"]
v=li.pop(1)
print(li) #[1, 'a', 'b']
print(v) #2
(2)remove 刪除引數指定的元素,不能得到刪除的元素
li=[1,2,"a","b"]
li.remove("a")
print(li) #[1, 2, 'b']
(3)del del可以刪除指定索引下標,也可以以切片方式刪除 注意:當del整個列表時,列表不存在,不能再對列表進行任何操作
li=[1,2,"a","b"]
del li[2]
print(li) #[1, 2, 'b']
===========================
del li
print(li) #會出錯
③clear:清空列表 清空後列表仍存在,仍可對列表進行操作
li=[1,2,"a","b"]
li.clear()
print(li) #[]
④count:得到元素出現的次數
li=[1,2,1,"a","b"]
print(li.count(1)) #2
⑤index:得到元素的索引 有預設引數2,3,分別為start下標、end下標
li=[1,"a",1,"a","b"]
print(li.index('a')) #1
print(li.index('a',2,5)) #3
⑥copy:列表拷貝 做是淺拷貝
li=[1,"a",1,"a","b"]
v=li.copy()
print(v) #[1, 'a', 1, 'a', 'b']
⑦reverse:列表倒敘
li=[1,"a",1,"a","b"]
li.reverse()
print(li) #['b', 'a', 1, 'a', 1]
⑧sort:列表排序 預設為升序,如果想降序可以加引數:reverse=True
li = [11,44, 22, 33, 22]
li.sort()
print(li) #[11, 22, 22, 33, 44]
li.sort(reverse=True)
print(li) #[44, 33, 22, 22, 11]