我是靠谱客的博主 醉熏棒球,最近开发中收集的这篇文章主要介绍python 字典字典的常见操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(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为字典所有键对应的初始值。

seq = ('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]}
key in dict

用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false。

dict = {'Name': 'Runoob', 'Age': 7}
print('Age' in dict)
#True
print('sex' in dict)
#False

最后

以上就是醉熏棒球为你收集整理的python 字典字典的常见操作的全部内容,希望文章能够帮你解决python 字典字典的常见操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部