Python基礎學習二:列表,字典,深拷貝與淺拷貝
④使用pop()方法刪除元素:pop方法用於移出列表中的一個元素(預設是最後一個元素),可以指定元素索引,並且返回該元素的值。
使用del語句刪除元素:如果知道要刪除的元素在列表中的位置,可使用del語句刪除元素,元素一旦被刪除之後就再也無法訪問。
使用remove()方法刪除元素:當不知道元素索引,只知道元素值的時候,使用remove()方法刪除元素。
⑤查詢資料
in(存在),如果存在那麼結果為true,否則為false
not in(不存在),如果不存在那麼結果為true,否則false
⑥列表函式
len(list) 返回列表元素個數
list05 = ['jack', 'jane', 'joe', 'black']
# 檢視列表的長度 返回列表元素
print(len(list05))
max(list):返回列表元素中的最大值。預設數值型的引數,取最大值。字元型的引數,取字母排序靠後者。
min(list):返回列表元素中的最小值。預設數值型的引數,取最小值。字元型的引數,取字母排序靠前者。
list.count(obj):統計某個元素在列表中出現的次數
extends(list):擴充套件列表,在一個列表的末尾一次性追加一個新的列表,引數為一個列表
list.index(obj):用於從列表中找出某一個值第一個匹配項的索引位置
list.reverse():反向列表中的元素
list.sort():對列表進行排序,該方法沒有返回值。更改的是原陣列
list.clear():用於清空列表
list.copy():複製列表
列表的切片
a = [1, 2, 3]
b = [11, 22, 33]
c = [111, 222, 333]
list01 = [a, b, c]
print(id(list01))
list02 = list01[:]
print(id(list02))
# 檢視list01和list02
print(list01)
print(list02)
⑦元組函式
元組和列表不一樣,元組中的元素值是不允許被單獨修改和刪除的,但是我們可以使用del語句來刪除整個元組。
⑧字典
字典是另外一種可變容器型別,且可以儲存任意型別物件。列表元素進行修改的話,通過所以進行修改,如果當前元素的順序放生改變,此時還需要修改索引才能成功完成元素的修改,有沒有辦法,技能儲存多個數據,又能很方便準確的定位元素呢:字典
dict01 = {'name': 'joe', 'age': '19', 'address': '上海'}
print(dict01)
print(dict01['name'])
訪問下標['name'],中括號指得是下標而不是列表
修改字典元素,通過找到指定的KEY進行修改
dict01['name'] = 'jack'
print(dict01)
追加元素,直接新增一個原字典中沒有的元素
dict01['hobby'] = '足球'
print(dict01)
刪除元素也可已刪除整個字典,但此操作危險性較大,推薦清空元素
dict01 = {'name': 'joe', 'age': '19', 'address': '上海'}
del dict01['address']
print(dict01)
清空
dict01.clear()
print(dict01)
獲得,如果字典中有該KEY對應的元素,就輸出原來的,如果沒有則輸出指定的元素,但並不改變原字典中的內容
dict01 = {'name': 'joe', 'age': '19', 'address': '上海'}
print(dict01.get('sex', '男'))
print(dict01)
key in dict 如果鍵在字典dict裡返回true,否則返回false
print(dict01.keys())
print(dict01.values())
print(dict01.items())
items返回元組,並將內容全部顯示出來
⑨深拷貝和淺拷貝
可變(mutable)引數和不可變引數(immutable)引數
Python中string、tuple和number是不可變物件,而dict、list等是可變物件;不可變物件在進行重新賦值的時候,實際上是將原始值丟棄,將變數指向一個新值;可變物件的可變性實質上是指更改可變物件中的子物件,比如list中的item元素的更改。
淺拷貝:不拷貝子物件(針對子物件中的item),當子物件進行更改的時候,原始物件也會改變。常見操作:列表的切片操作[:]、list()操作、字典的copy()函式、copy()模組的copy()
深拷貝:會拷貝子物件,當對原始物件子物件進行更改的時候,原始物件不會改變。常見操作:copy模組的deepcopy()