Python has built-in dictionaries: dict support, Dict full name dictionary, also known as map in other languages, dictionaries are another mutable container model and can store any type of object. Has a very fast search speed.
A dictionary is a data structure referenced by a name or keyword, which can be a number, a string, a tuple, and this type of structure is also known as a mapping. The dictionary type is the only built-in mapping type in Python, and the basic operations include the following:
(1) Len (): Returns the number of keys in the dictionary: value pairs
(2) D[k]: Returns the value corresponding to the keyword;
(3) D[k] = V: Associates the value to the key value K;
(4) del d[k]: Delete the key value of K;
(5) Key in D: Key value key is in D, returns true, otherwise false
Example Dictionary:
D = { "k1": " K2": True, " K3": [' Su ', { ' kk1 ': ' Vv1 ', ' kk2 ': ' Vv2 ', ' KK3 ': (one, one ), }
], "K4": (11, 22, 33, 44)}
1. The basic format of the dictionary:
D = {key1:value1, key2:value2}
2. The key of the dictionary must be immutable (for example: string, number, tuple), value (key) can be any data type
D1 = {' Alice ': ' 2341 ', 9102: ' Bibi ', (11,22): ' 3258 '} # Correct
D2 = {[' Alice ', 123]: ' 2341 ', True: ' 9102 ', {' abc ': ' 123 ', ' EFG ': ' 456 '}} # Error! Because the list Boolean dictionary is mutable, it cannot be used as a key
3. The dictionary is unordered, and each time the print is executed, the order will change.
D3 = {' Alice ': ' 2341 ', 9102: ' Bibi ', (11,22): ' 3258 '}print (d) # The print result may be this {' Alice ': ' 2341 ', 9102: ' Bibi ', (11, 22): ' 3258 '}# It may also be so {(one, All): ' 3258 ', ' Alice ': ' 2341 ', 9102: ' Bibi '}# may even be so {9102: ' Bibi ', ' Alice ': ' 2341 ', (11, 22): ' 3258 '} ...
4. Check out the corresponding value (value) or key (key) & for loop based on key (key) or values (value)
1. Return the value corresponding to the keyword: v = D[key] Example (refer to the top example dictionary):
v = d["K1"] # remove K1 corresponding value
V1 = d["K3"][1]["Kk3"][0] # Take out the KK3 corresponding to the value of 11
Print (V, v1)
2. The key-value pair cannot be obtained by slicing because the dictionary is unordered
3.for loop takes key and value
D4 = {' Year ': 2018, ' Month ': 3, ' Day ': 18}# loops all key (or so write: for item in D4.keys ():) for item in D4: print (item) printing result: Year monthday# Loop all Valuefor item in D4.values (): print (item) Results: 2018318# loop all Key:valuefor item in D4.keys (): Print (item, ': ', D4[item])
For K, V in D4.items (): # receives key with the items method K, V receives value
Print (k, v)
5. Functions & Methods of dictionaries 1. Functions (3):
1.str (dict) #输出字典可以打印的字符串表示
d6 = {' Year ': 2018, ' month ': 3, ' day ': 18}content = str (d6) print (content) results: {' Year ': 2018, ' month ': 3, ' Day ': 18}
2.len (dict) #计算字典内元素的个人, that is, the total number of keys
D7 = {' Year ': 2018, ' Month ': 3, ' day ': 18}count = Len (d7) print (count) results: 3
3.type (variable) #返回输入的变量类型, returns a dictionary if the variable type is a dictionary
D8 = {' Year ': 2018, ' Month ': 3, ' day ': 18}ty = Type (d8) print (Ty) printing results: <class ' dict ' >
2. Method ()
1. Delete
D4 = {' Alice ': ' 2341 ', 9102: ' Bibi ', (11,22): ' 3258 '}del d4[9102] # Delete element 9102:bibiprint (d4) # Print Result: {' Alice ': ' 2341 ', (one, All): ' 3258 '} d4.clear () # Empty the dictionary print (D4) # Print Result: {}del d4 # Delete Dictionary
2.items
D4 = {' Year ': 2018, ' Month ': 3, ' Day ': 18}for K, V in D4.items (): # receives key with the items method K, V receives value print (k, v)
3.keys
D4 = {' Year ': 2018, ' Month ': 3, ' Day ': 18}for item in D4.keys (): # loop all key print (item)
4.values
D4 = {' Year ': 2018, ' Month ': 3, ' Day ': 18}for item in D4.values (): # loop All values print (item)
5.copy (Shallow copy)
D4 = {' Year ': 2018, ' Month ': 3, ' Day ': $ dict2 = D4.copy () print ("Newly copied dictionary:", Dict2)
6.fromkeys () Creates a new dictionary with the key to the dictionary of the elements in the sequence seq, and Val is the initial value corresponding to all the keys in the dictionary
Seq = (' year ', ' Month ', ' Day ') Dict1 = Dict.fromkeys (seq) print ("New dictionary:%s"% str (dict1)) Dict1 = Dict1.fromkeys (seq, 8) Print ("New dictionary:%s"% str (DICT1)) # Output: # New dictionary: {' year ': None, ' month ': None, ' Day ': none}# new dictionary: {' Year ': 8, ' month ': 8, ' Day ' : 8}
Python's Dict Dictionary