数据类型的内置方法:字典
数据类型的内置方法:字典
作用
- 存储多组 key:value 键值对,key 对 value 具有描述性,key 通常都是字符串,value 可以是任意数据类型。
- 存一个只or多个值:多个值
- 有序or无序:无序
- 可变or不可变:可变
定义
d = {'name':'jin','password':123}
# d = dict({'name':'jin','password':'123'})
# 强调:字典的 key 是不能重复的,如果重复了,只会按照最后一组重复的键值对存储。
定义字典的三种方式
# 掌握
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)
优先掌握的内置方法
1:按 key 存取值,可存可取
dic = {'name':'jin','password':123}
print(dic['name']) # jin
2:按 key 改值
dic = {'name':'jin','password':123}
dic['name'] = 'jason'
print(dic) # {'name': 'jason', 'password': 123}
3:len 长度
dic = {'name':'jin','password':123}
print(len(dic)) # 2
# 统计键值对的个数
4:成员运算 in 和 not in
dic = {'name':'jin','password':123}
print('name' in dic) # True
print('name' in dic) # false
5:删除 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:键 keys(),值 value(),键值对 items(),根据 key 获取 value :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() 快速的创建一个字典
lis = ['name','password','hobby']
print(dict.fromkeys(lis,699)) # lis 为 key,699 为 value 不填为 None
# {'name': 699, 'password': 699, 'hobby': 699}
8:popitem 弹出键值对
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:循环
dic = {'name':'jin','age':18,'height':180}
for i in dic:
print(i)
# name
# age
# height
千里之行,始于足下。