table of Contents
Built-in data types of methods: dictionary
effect
- Storing a plurality of sets key: value of the key, key descriptive of the value, key string usually, value can be any data type.
- Only memory or a plurality of values: a plurality of values
- Ordered or disordered: disordered
- Variable or immutable: variable
definition
d = {'name':'jin','password':123}
# d = dict({'name':'jin','password':'123'})
# 强调:字典的 key 是不能重复的,如果重复了,只会按照最后一组重复的键值对存储。
The dictionary definition of three ways
# 掌握
dic = {'name':'jin','password':123}
dic2 = dict(name = 'jin',password = 123)
# 了解
lis = [
['name','jason']
['password',123]
['age':18]
]
dic = dict(lis)
dic = {}
#for k,v in l:
# dic[k] = v
#print(dic)
Built-in method to master priority
1: access by key value, it may be desirable to deposit
dic = {'name':'jin','password':123}
print(dic['name']) # jin
2: Press the key values change
dic = {'name':'jin','password':123}
dic['name'] = 'jason'
print(dic) # {'name': 'jason', 'password': 123}
3: len length
dic = {'name':'jin','password':123}
print(len(dic)) # 2
# 统计键值对的个数
4: Member in operation and not in
dic = {'name':'jin','password':123}
print('name' in dic) # True
print('name' in dic) # false
5: Remove del, pop
# del 删除
dic = {'name':'jin','password':123}
del dic['name']
print(dic) # {'password': 123}
# pop 删除(弹出)
dic = {'name':'jin','password':123}
res = dic.pop('password')
print(dic) # {'name': 'jin'}
print(res) # 123
# pop 按照 key 删除值后,可以得到一个返回值。(返回值是 value)
6: Key keys (), value value (), on the key-value items (), according to the value acquired key: get ()
dic = {'name':'jin','password':123}
# keys()
print(dic.keys()) # dict_keys(['name', 'password'])
# value()
print(dic.values()) # dict_values(['jin', 123])
# items()
print(dic,items()) # dict_items([('name', 'jin'), ('password', 123)])
# get() 与 dic['name'] 效果一样,但是不会报错,默认会返回一个 None 值
print(dic.get('name')) # jin
print(dic.get('weight')) # None
print(dic.get('weight','没有这个键值对哦')) # 没有这个键值对哦
# get可以传第二个参数。当你的key不存在的情况下,返回第二个你写好的参数信息
7: fromkeys () to quickly create a dictionary
lis = ['name','password','hobby']
print(dict.fromkeys(lis,699)) # lis 为 key,699 为 value 不填为 None
# {'name': 699, 'password': 699, 'hobby': 699}
8: popitem eject key-value pairs
dic = {'name':'jin','password':123}
print(dic.popitem()) # ('password', 123)
# 尾部以元组的形式弹出键值对
9:setdefault()
dic = {'name':'jin','pwd':123}
res1 = d1.setdefault('name','xxoo')
# 当键存在的情况下 不修改值 并且将原先key对应值返回给你
print(dic,res1) # {'name': 'jin', 'pwd': 123} jin
res2 = d1.setdefault('age',18)
# 当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你
print(dic,res2) # {'name': 'jin', 'pwd': 123, 'age': 18} 18
10:update()
dic = {'name':'jin','pwd':123}
dic2 = {'age':18}
dic.update(dic2)
print(dic) # {'name': 'jin', 'pwd': 123, 'age': 18}
11: Cycle
dic = {'name':'jin','age':18,'height':180}
for i in dic:
print(i)
# name
# age
# height