1. 程式人生 > >Python基礎學習二:列表,字典,深拷貝與淺拷貝

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))

# 檢視list01list02

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()