概述
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
键必须是唯一的,但值则不必。
d = {key1 : value1, key2 : value2 }
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典的常见操作
增
直接增。注意,没有该键的时候,增加键值对,有该键的时候,修改键值
dic={'name':'aa','age':18} dic['sex']='man' print(dic)#{'name': 'aa', 'age': 18, 'sex': 'man'} dic['name']='bb' print(dic)#{'name': 'bb', 'age': 18, 'sex': 'man'}
setdefault 在字典中添加键值对
如果字典没有该键,则把键值对赋给字典,返回该条目的键值,如果有该键,则什么都不做,返回字典中该键的键值
print(dic.setdefault('name'))#aa print(dic)#{'name': 'aa', 'age': 18, 'sex': 'man'} print(dic.setdefault('name','bb'))#aa print(dic)#{'name': 'aa', 'age': 18, 'sex': 'man'} print(dic.setdefault('name2','2'))#2 print(dic)#{'name': 'aa', 'age': 18, 'sex': 'man', 'name2': '2'}
删
pop
根据key删除键值对,并返回对应的键值,如果没有key,则返回默认返回值。
dic={'name':'aa','age':18} dic_pop = dic.pop("a",'无key默认返回值') #pop根据key删除键值对,并返回对应的键值,如果没有key,则返回默认返回值。 print(dic_pop) #无key默认返回值 dic_pop = dic.pop("name",'无key默认返回值') print(dic_pop) #aa print(dic) #{'age': 18}
del
dic={'name':'aa','age':18} del dic["name"] # 没有返回值。 print(dic) #del dic['adf'] #如果没有该key,则会报错
popitem
随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回,如果字典已经为空,却调用了此方法,就报出KeyError异常。一般删除末尾对
dic={'name':'aa','age':18,'sex':'man'} dic_pop1 = dic.popitem() print(dic_pop1) # ('name','jin')
clear
清空字典
dic_clear = dic.clear() # 清空字典 print(dic) # {} print(dic_clear) #None
改
dic = {"name":"jin","age":18,"sex":"male"} dic2 = {"name":"alex","weight":75} dic2.update(dic) # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中 print(dic2) #{'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}
查
直接查找
dic={'name':'aa','age':18,'sex':'man'} value1 = dic["name"] # 没有会报错 print(value1)
get
dic={'name':'aa','age':18,'sex':'man'} value2 = dic.get("djffdsafg","默认返回值") # 没有可以返回设定的返回值 print(value2)
其他
len(dict)
计算字典元素个数,即键的总数。
str(dict)
输出字典,以可打印的字符串表示。
items()
创建迭代器
dic={'name':'aa','age':18,'sex':'man'} item = dic.items() print(item) # dict_items([('name', 'aa'), ('age', 18), ('sex', 'man')]) print(type(item)) # <class 'dict_items'> #这个类型就是dict_items类型,可迭代的
keys()
keys = dic.keys() print(keys) # dict_keys(['name', 'age', 'sex']) print(type(keys)) #<class 'dict_keys'>
values()
values = dic.values() print(values) # dict_values(['aa', 18, 'man']) print(type(values)) #<class 'dict_values'>
循环
dic={'name':'aa','age':18,'sex':'man'} for key in dic: print(key) for item in dic.items(): print(item) for key,value in dic.items(): print(key,value)
fromkeys()
用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。
key in dictseq = ('name', 'age', 'sex') dict = dict.fromkeys(seq) print (dict) #{'name': None, 'age': None, 'sex': None} dict = dict.fromkeys(seq, 10) print (dict) #{'name': 10, 'age': 10, 'sex': 10} dict = dict.fromkeys(seq, [1,2,3]) print (dict) #{'name': [1, 2, 3], 'age': [1, 2, 3], 'sex': [1, 2, 3]}
用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false。
dict = {'Name': 'Runoob', 'Age': 7} print('Age' in dict) #True print('sex' in dict) #False
最后
以上就是醉熏棒球为你收集整理的python 字典字典的常见操作的全部内容,希望文章能够帮你解决python 字典字典的常见操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复