admin 管理员组文章数量: 887021
字典{}
1. 字典
dict 用{}来表示 键值对数据 {key:value} 唯一性
键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键
值 没有任何限制
2. 增删改查
字典的增加:
dic[key] = value #强制增加
dic = {'num': '1', 'sum': '2'}
dic['key_1'] = 'value_1'
print(dic)
输出:{'num': '1', 'sum': '2', 'key_1': 'value_1'}
dic.setdefault(key,value) #如果键在字典中存在不进行任何操作,否则就添加
dic = {'num': '1', 'sum': '2'}
dic.setdefault('key_2', 'value_2')
print(dic)
输出:{'num': '1', 'sum': '2', 'key_2': 'value_2'}
字典的删除:
dic.pop(key) # 有返回值 返回的是被删除value
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
i = dic.pop('sum')
print(dic)
print(i)
输出:{'num': '1', 'key_2': 'value_2'}
2
del dic[key] #通过键删除对应的值
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
del dic['num']
print(dic)
输出:{'sum': '2', 'key_2': 'value_2'}
dic.popitem() #随机删除;python3.6以上默认删除最后一位
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
dic.popitem()
print(dic)
输出:{'num': '1', 'sum': '2'}
dic.clear() #清空字典
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
dic.clear()
print(dic)
输出:{}
字典的修改:
dic[key] = value #通过键修改对应的值
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
dic['num'] = '2'
print(dic)
输出:{'num': '2', 'sum': '2', 'key_2': 'value_2'}
dic.update(字典) #通过字典更新dic
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
dic_1 = {'num': '2', '亚索': '托儿索'}
dic.update(dic_1)
print(dic)
输出:{'num': '2', 'sum': '2', 'key_2': 'value_2', '亚索': '托儿索'} #dic的'num'的值被dic_1更新并更新dic没有的键值对
字典的查询:
dic.get(key,提示信息) #通过字典的键查询对应的值,如果没有找到,返回提示信息,默认返回None
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
print(dic.get('num', '没有对应的输入'))
输出:1
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
print(dic.get('nm', '没有对应的输入'))
输出:没有对应的输入
dic[key] #通过字典的键查询对应的值,如果没有找到,报错
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
print(dic['num'])
输出:1
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
print(dic['nm'])
输出:
Traceback (most recent call last):
File "C:/Users/PycharmProjects/测试.py", line 27, in <module>
print(dic['nm'])
KeyError: 'nm'
for 循环 #默认获取字典的键
#第一种 循环输出所有的key
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for key in dic:
print(key)
输出:k1,k2,k3
# 方法二 循环输出所有的key
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for key in dic.keys():print(key)
输出:k1,k2,k3
# 循环输出所有的value
for key in dic.values():
print(key) # v1,v2,[11,22,33]
输出:v1,v2,[11,22,33]
# 方法一 循环输出所有的key和value
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for key in dic.items():
print(key) # ('k1', 'v1'),('k2', 'v2'),('k3', [11, 22, 33])
输出:('k1', 'v1'),('k2', 'v2'),('k3', [11, 22, 33])
# 方法二 循环输出所有的key和value
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for key,value in dic.items():print(key,value)
输出:# 'k1' "v1", "k2" "v2", "k3" [11,22,33]
dic.setdefault(key,提示信息) #通过字典的键查询对应的值,如果没有找到,返回提示信息,默认返回None
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
print(dic.setdefault('num', '没有对应的输入'))
输出:1
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
print(dic.setdefault('nm', '没有对应的输入'))
输出:
没有对应的输入
3.字典的其他操作:
dic.keys() # 获取到所有的键存在一个高仿的列表中
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
print(dic.keys())
输出:dict_keys(['num', 'sum', 'key_2'])
dic.values() #获取到所有的值存在一个高仿的列表中
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
print(dic.values())
输出:dict_values(['1', '2', 'value_2'])
dic.items() #获取到所有的键值对已元祖的形式存在一个高仿的列表中
dic = {'num': '1', 'sum': '2', 'key_2': 'value_2'}
print(dic.items())
输出:dict_items([('num', '1'), ('sum', '2'), ('key_2', 'value_2')])
解构:
a,b = 1, 2 #输出a = 1,b = 2
a,b = (1,2) #输出a = 1,b = 2
a,b = [1,2] #输出a = 1,b = 2
4. 字典的嵌套:
dic = {
'name':'熊父',
'age':43,
'wife':{
'name':'熊母',
'age':39,
'salary':100000
},
'baby':[
{'name':'熊大','age':18},
{'name':'熊二','age':15},
]
}
dic['baby'][0]['age'] = 19
print(dic)
转载于:.html
本文标签: 字典
版权声明:本文标题:字典{} 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687610468h120763.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论