目錄python
元組是不可變的列表,只能夠存不能夠修改,早起元組類型佔用內存小app
定義:tup = tuple((1,2,3))
code
索引取值orm
name_tuple = ("qinyj","age",18) print(name_tuple[0])
索引切片對象
name_tuple = ("qinyj","age",18) print(name_tuple[0:2])
長度len索引
name_tuple = ("qinyj","age",18) print(len(name_tuple))
循環內存
name_tuple = ("qinyj","age",18) for i in name_tuple: print(i)
count字符串
name_tuple = ("qinyj","age",18) print(name_tuple.count("qinyj"))
indexget
name_tuple = ("qinyj","age",18) print(name_tuple.index("qinyj"))
有序但不可變類型。it
定義:dic = dict()
按key存取值:可存可取(可查可修改)
dic = {'a': 1, 'b': 2} print(f"first dic['a']: {dic['a']}") dic['a'] = 3 print(f"second dic['a']: {dic['a']}")
長度len
dic = {'a': 1, 'b': 2} print(len(dic))
成員運算
dic = {'a': 1, 'b': 2} print("a" in dic)
刪除del、pop指定元素
dic = {'a': 1, 'b': 2} del dic["a"] print(dic)
keys/values/items
dic = {'a': 1, 'b': 2} print(dic.keys()) print(dic.values()) print(dic.items()) for i,k in dic.items: print(i,k)
fo 循環:循環的是key
get:查指定元素,若是沒有返回None,可設默認值
>>> lt1 = ["a","b","c"] >>> print(id(lt1)) 43366216 >>> lt2 = lt1 >>> print(id(lt2)) 43366216 >>> lt1.append("d") >>> print(lt1) ["a","b","c","d"] >>> print(lt2) ["a","b","c","d"] # 43366216 內存地址同樣。兩個變量指向同一個內存地址,一個變,另外一個也改變
若是lt2 是lt1的拷貝對象,lt1 內部的任何數據類型的元素變化,lt2內部的元素也會跟着變化。由於可變類型值變id不變。
>>> import copy >>> lt1 = ["a","b","c",["d","e"]] >>> print(id(lt1)) 43434056 >>> >>> lt2 = copy.copy(lt1) >>> print(id(lt2)) 43449224 >>> lt1[-1].append("f") >>> print(lt1) ['a', 'b', 'c', ['d', 'e', 'f']] >>> print(lt2) ['a', 'b', 'c', ['d', 'e', 'f']] >>>
若是lt2是lt1的淺拷貝對象,lt1內部的不可變元素髮生了變化,lt2不變,
若是lt1內部的可變元素髮生了變化,lt2也跟着改變。
>>> import copy >>> lt1 = ["a","b","c",["d","e"]] >>> print(id(lt1)) 43434440 >>> lt2 = copy.deepcopy(lt1) >>> print(id(lt2)) 43447368 >>> lt1[-1].append("f") >>> print(lt1) ['a', 'b', 'c', ['d', 'e', 'f']] >>> print(lt2) ['a', 'b', 'c', ['d', 'e']] >>>
若是lt2是lt1的深拷貝對象,lt1內部的任何元素髮生了變化,lt2不會跟着改變。
若是lt2 是lt1的拷貝對象,lt1 內部的任何數據類型的元素變化,lt2內部的元素也會跟着變化。由於可變類型值變id不變。
若是lt2是lt1的淺拷貝對象,lt1內部的不可變元素髮生了變化,lt2不變,
若是lt1內部的可變元素髮生了變化,lt2也跟着改變。
若是lt2是lt1的深拷貝對象,lt1內部的任何元素髮生了變化,lt2不會跟着改變。
存值個數 | 數據類型 |
---|---|
單個值 | 數字、字符串 |
多個值 | 列表、元組、字典、集合 |
有序 or 無序 | 數據類型 |
---|---|
有序 | 字符串、列表、元組 |
無序 | 數字、字典、集合 |
可變 or 不可變 | 數據類型 |
---|---|
可變 | 列表、字典、集合 |
不可變 | 數字、元組、字符串 |
訪問類型 | 數據類型 |
---|---|
直接訪問 | 數字 |
順序訪問 | 字符串、列表、元組 |
key值訪問 | 字典 |
拷貝/淺拷貝/深拷貝 都是針對可變類型數據而言。