首页 > 编程知识 正文

python字典的基本操作,字典操作

时间:2023-05-05 18:27:04 阅读:263331 作者:4365

python字典学习 简介1.元素追加2.判断key是否存在3.字典中的查找4.字典中的删除5.字典中的多层嵌套6.字典的遍历7.字典的特性(重要)

简介

字典是一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

dic = {'name': '小黄', 'age': '12', 'job': 'work', 'address': 'china', 'f': '3'}
1.元素追加 方法1:直接添加 dic['sex'] = 'male' 方法2:通过setdefault(key, value)添加, 该方法自带返回值,返回的是添加的value。 ret = dic.setdefault('color', 'yellow') # ret此时被复制为yellowprint('ret:', ret)print(dic)# 此外,该方法添加的键值对,如果字典已经存在了, 就不会重复添加。ret = dic.setdefault('name', '小黄')print("检查setdefault()的判重性:", dic) 方法3:dict1.update(dict2) 把字典dict2的键/值对更新到dict1里。(如果dict1和dict2如果有相同的键,那么对应的值,会以更新的为准,即dict2.) dict1 = {'Name': 'Zara', 'Age': 7}dict2 = {'Sex': 'female'}dict1.update(dict2)
2.判断key是否存在 方法1:dict.has_key 返回值是True和False 。python2.2之前有这个函数,现在已经废弃。方法2:in / not in dict print('Sex' in dict1)
3.字典中的查找 查找都有哪些键 dic = {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}print(dic.keys()) # 输出结果 dict_keys(['name', 'age', 'job', 'address']) 查找都有哪些值 dic = {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}print(dic.values()) # 输出结果 dict_values(['小牧', 12, 'work', 'china']) 查找所有键值对 dic = {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}print(dic.items()) # 输出结果 dict_items([('name', '小牧'), ('age', 12), ('job', 'work'), ('address', 'china')])

注意:items() keys() values()得到的返回值并不是list,需要转换形如:list(dic.key)!!!

4.字典中的删除 # 两个例子del dic['name']dic.clear() # 输出None
5.字典中的多层嵌套 cc = { 'ct':{ 'sex':'male' }, 'wj':{ 'sex':'female' },}print(cc) # 结果 {'ct': {'sex': 'male'}, 'wj': {'sex': 'female'}}print(cc['ct']) # 结果 {'sex': 'male'}print(cc['ct']['sex']) # 结果 male
6.字典的遍历 for i in dic: print(i) # 默认为健 print(i, dic[i]) # 得到key和valuefor i, v in dic.items(): print(i, v) # 得到key和value
7.字典的特性(重要) 同一个键可以出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,举个栗子: dict = {'Name': 'lcx', 'Age': 20, 'Name': 'lxy'};print("dict['Name']: ", dict['Name']) # 输出 dict['Name']: lxy 键必须不可变,所以可以用字符串元组(元祖不可变)充当,所以用列表就不行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。