列表
列表(List)也是一種序列結構,和元組不一樣,列表具有可變性,可以追加、插入、刪除和替換列表中的元素。
列表創建
創建列表可以使用list([iterable])函數,或者用中括號[]將元素括起來,元素之間用逗號分隔。在Python Shell中運行實例代碼如下:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-85J33Nyd-1582281549484)(C:\Users\33924\AppData\Roaming\Typora\typora-user-images\image-20200219120952524.png)]
爲什麼今天的交互要發一張截圖呢?原因我發現visual studio2019安裝上Python插件之後,點擊視圖,也有Python交互解釋器,還有代碼高亮,自動補全,比IDLE好用多了!
#同一個代碼片
>>> [20, 10, 50, 40, 30] ①
[20, 10, 50, 40, 30]
>>> []
[]
>>> ['Hello', 'World', 1, 3, 3] ②
['Hello', 'World', 1, 3, 3]
>>> a = [10] ③
>>> type(a)
<class 'list'>
>>> a = [10, ] ④
>>> type(a)
<class 'list'>
>>> list((20, 10, 50, 40, 30)) ⑤
[20, 10, 50, 40, 30]
>>>
接着說,代碼第①行創建了一個有五個元素的列表,注意和元組不一樣,中括號不能省略,如果省略就變成元組了。代碼第②行創建了一個字符串和整數混合的列表。代碼第③行創建一個只有一個元素的列表,中括號不能省略。
另外,代碼第⑤行用list([iterable])函數創建列表。
追加元素
列表中追加單個元素可以使用append()方法。如果想追加另一列表,可以使用+運算符或者extend()方法
append()方法語法:
list.append(x)
其中x參數是要追加的單個元素值
extend()方法語法:
list.extend(t)
其中t參數是追加的另外一個列表
Python Shell實例:
>>> student_list = ['張三', '李四', '王五']
>>> student_list.append('董六')
>>> student_list
['張三', '李四', '王五', '董六']
>>> student_list += ['劉備', '關羽']
>>> student_list
['張三', '李四', '王五', '董六', '劉備', '關羽']
>>> student_list_extend(['張飛', '趙雲'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'student_list_extend' is not defined
>>> #一下子輸錯了
...
>>> student_list.extend(['張飛', '趙雲'])
>>> student_list
['張三', '李四', '王五', '董六', '劉備', '關羽', '張飛', '趙雲']
>>>
插入元素
插入元素可以用insert()方法。該方法可以指定索引位置插入一個元素
insert()方法語法
list.insert(i, x)
其中參數i是要插入的序列,參數x是要插入的元素數值
Python Shell實例
>>> student_list = ['張三', '李四', '王五']
>>> student_list
['張三', '李四', '王五']
>>> student_list.insert(2, '劉備')
>>> student_list
['張三', '李四', '劉備', '王五']
替換元素
這一點和c++的數組很像,直接修改下標中元素
實例:
>>> student_list = ['張三', '李四', '王五']
>>> student_list[0] = "諸葛亮"
>>> student_list
['諸葛亮', '李四', '王五']
刪除元素
一種放法是remove()方法,另一種是pop()
1)remove
remove方法從左到右查找列表中的元素,如果找到匹配元素則刪除,注意如果找到多個匹配元素,只是刪除第一個,如果沒有找到會拋出錯誤。
實例:
>>> student_list = ['張三', '李四', '王五']
>>> student_list[0] = "諸葛亮"
>>> student_list
['諸葛亮', '李四', '王五']
>>>
>>>
>>>
>>> student_list = ['張三', '李四', '王五', '王五']
>>> student_list.remove('王五')
>>> student_list
['張三', '李四', '王五']
>>> student_list.remove('王五')
>>> student_list
['張三', '李四']
>>> student_list.remove('王五')
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
student_list.remove('王五')
ValueError: list.remove(x): x not in list
>>> student_list.append('王五')
>>> student_list
['張三', '李四', '王五']
>>> student_list.pop()
'王五'
>>> student_list
['張三', '李四']
>>>
pop是彈出列表最後一個元素
t.append(‘王五’)
student_list
[‘張三’, ‘李四’, ‘王五’]student_list.pop()
‘王五’student_list
[‘張三’, ‘李四’]
pop是彈出列表最後一個元素