Built-in data types of methods: dictionary

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

Guess you like

Origin www.cnblogs.com/jincoco/p/11135402.html