字典内置方法
1.类型转换
可以使用dict()
方法,但是不建议使用,而是用其他方式转换。
print(dict((('name','pwd'),('tifa','123')))) # {'name': 'pwd', 'tifa': '123'}
# 使用麻烦
2.字典必须要掌握的操作
user_dict = {
'username': 'tifa',
'password': 123,
'hobby': ['read', 'music', 'run']}
# 1.使用字典的键取值(不推荐使用)
# 如果字典中没有这个键会直接报错
print(user_dict['username']) # tifa
# 2.使用字典的内置方法get取值:(推荐使用)
print(user_dict.get('username')) # tifa
# 当字典中没有这个键时,get方法会返回None
print(user_dict.get('age', '没有年龄')) # 可以给get方法传入第二个参数,当键存在时获取键对应的值 ,当键不存在时返回 '没有年龄'。
# 3.修改字典的值
user_dict['username'] = 'tony'
# 键存在时,将值修改为'tony'
# 4.新增键值对:
user_dict['username'] = 'tony'
# 键不存在在时,新增键值对'username':'tony'
# 5.删除键值对
del user-dict['username'] # 删除'username'键对应的键值对
# 如果字典中没有这个键会报错 KeyError
user_dict.pop('password')
# 跟列表的弹出方法相同 只不过是删除了键值对
# 6.统计字典中键值对的个数
print(len(user_dict)) # 3
# 7.字典重要方法 字典三剑客
print(user_dict.keys())
# 一次性获取字典所有的键 dict_keys(['username', 'password', 'hobby'])
print(user_dict.values())
# 一次性获取字典所有的值 dict_values(['jason', 123, ['read', 'music', 'run']])
print(user_dict.items())
# 一次性获取字典的键值对数据 dict_items([('username', 'jason'), ('password', 123), ('hobby', ['read', 'music', 'run'])])
for i in user_dict.items(): # 和for循环组合使用
k, v = i
print(k, v)
输出的结果:
# 8.补充说明
print(dict.fromkeys(['name', 'pwd', 'hobby'], 123)) # 快速生成值相同的字典
res = dict.fromkeys(['name', 'pwd', 'hobby'], [])
print(res) # {'name': [], 'pwd': [], 'hobby': []}
res['name'].append('jason')
res['pwd'].append(123)
res['hobby'].append('study')
print(res)
'''当第二个公共值是可变类型的时候 一定要注意 通过任何一个键修改都会影响所有'''
# 输出如下:
user_dict = {
'username' : 'tifa'
}
res = user_dict.setdefault('username','tony')
print(user_dict, res) # 键存在则不修改 结果是键对应的值 res --> 'tifa'
res = user_dict.setdefault('age',123)
print(user_dict, res) # 存不存在则新增键值对 结果是新增的值 res --> 123
user_dict.popitem() # 弹出键值对 后进先出
print(user_dict) # {'username': 'tifa'}
标签:username,res,print,dict,user,集合,元祖,字典
From: https://www.cnblogs.com/passion2021/p/16745655.html