python中的字典操作及字典函数

yipeiwu_com5年前Python基础

字典

dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'} 

字典的操作

#字典的遍历方式 
#默认遍历(遍历key) 
for value in dict_fruit: 
  print(value) 
''''' 
遍历出的值: 
watermelon 
apple 
cherry 
avocado 
banana 
''' 
#使用key遍历(与默认遍历一样) 
for key in dict_fruit.keys(): 
  print(key) 
''''' 
遍历出的值: 
watermelon 
apple 
cherry 
avocado 
banana 
''' 
#使用value遍历 
for value in dict_fruit.values(): 
  print(value) 
''''' 
遍历出的值: 
苹果 
牛油果 
香蕉 
西瓜 
樱桃 
''' 
#使用key,value遍历 
for key,value in dict_fruit.items(): 
  print(key+'--->'+value) 
''''' 
遍历出的值: 
avocado--->牛油果 
apple--->苹果 
banana--->香蕉 
cherry--->樱桃 
watermelon--->西瓜 
''' 
#创建字典 
#使用dict() 
res = dict(brand = '品牌',size='尺码',color='颜色') 
print(res,type(res)) 
''''' 
res结果: 
{'size': '尺码', 'brand': '品牌', 'color': '颜色'} <class 'dict'> 
''' 
#使用zip()和dict() 
keys = ['1','2','3','4','5'] 
values = [1,2,3,4,5] 
res = dict(zip(keys,values)) 
print(res,type(res)) 
''''' 
res结果: 
{'3': 3, '4': 4, '1': 1, '2': 2, '5': 5} <class 'dict'> 
''' 
#字典的推导式 
res = {k+'的中文是'+v for k,v in dict_fruit.items()} 
print(res) 
''''' 
res结果: 
{'watermelon的中文是西瓜', 'avocado的中文是牛油果', 'banana的中文是香蕉', 'cherry的中文是樱桃', 'apple的中文是苹果'} 
''' 

字典的函数

#清空字典 
test1 = {1:'1'} 
test1.clear() 
print(test1) 
''''' 
test1结果: 
{} 
''' 
#复制字典(复制成一个新字典) 
test2 = {2:'2'} 
test2_copy = test2.copy() 
print(test2_copy) 
''''' 
test2结果: 
{2: '2'} 
''' 
#使用指定的key和value制作一个字典 
list_test = ['a','b','c'] 
test3 = {}.fromkeys(list_test,'ojbk') 
print(test3) 
''''' 
test3结果: 
{'a': 'ojbk', 'b': 'ojbk', 'c': 'ojbk'} 
''' 
#将一个字典转化为二级容器(中间容器) 
res = dict_fruit.items() 
print(res,type(res)) 
''''' 
res结果: 
dict_items([('avocado', '牛油果'), ('apple', '苹果'), ('banana', '香蕉'), ('watermelon', '西瓜'), ('cherry', '樱桃')]) <class 'dict_items'> 
''' 
#将字典的key组成新的容器 
res = dict_fruit.keys() 
print(res,type(res)) 
''''' 
res结果: 
dict_keys(['watermelon', 'cherry', 'avocado', 'apple', 'banana']) <class 'dict_keys'> 
''' 
#将字典的value组成新的容器 
res = dict_fruit.values() 
print(res,type(res)) 
''''' 
res结果: 
dict_values(['牛油果', '香蕉', '樱桃', '苹果', '西瓜']) <class 'dict_values'> 
''' 
#根据key删除字典中的数据 
test4 = {1:'1',2:'2',3:'3'} 
test4.pop(2) 
print(test4) 
''''' 
test4结果: 
{1: '1', 3: '3'} 
''' 
#依次弹出(删除)字典中的数据 
test5 = {1:'1',2:'2',3:'3',4:'4',5:'5'} 
test5.popitem() 
print(test5) 
test5.popitem() 
print(test5) 
test5.popitem() 
print(test5) 
''''' 
test5依次结果: 
{2: '2', 3: '3', 4: '4', 5: '5'} 
{3: '3', 4: '4', 5: '5'} 
{4: '4', 5: '5'} 
''' 
#更新dict中的数据(更新一个不存在的key时,可用于添加新数据) 
test6 = {'super':'Eric','ssuper':'Cbabe','sssuper':'Gogo','supreme':'wiz333'} 
#更新数据 
test6.update(super='Eric-LPL') 
print(test6) 
#添加数据 
test6.update(niceboy='Bigmao') 
print(test6) 
''''' 
test6依次结果: 
{'ssuper': 'Cbabe', 'supreme': 'wiz333', 'sssuper': 'Gogo', 'super': 'Eric-LPL'} 
{'ssuper': 'Cbabe', 'supreme': 'wiz333', 'niceboy': 'Bigmao', 'sssuper': 'Gogo', 'super': 'Eric-LPL'} 
''' 
#获取dict中的数据(使用key获取) 
test7 = {1:'1',2:'2',3:'3',4:'4',5:'5'} 
res = test7.get(1) 
print(res,type(res)) 
''''' 
test7结果: 
1 <class 'str'> 
''' 
#给dict添加数据(setdefault,不能用于更新数据) 
test8 = {1:'1',2:'2',3:'3',4:'4',5:'5'} 
test8.setdefault(6,'6') 
print(test8) 
''''' 
test8结果: 
{1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6'} 
''' 

总结

以上所述是小编给大家介绍的python中的字典操作及字典函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python队列Queue的详解

Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO...

Python中使用双下划线防止类属性被覆盖问题

Python中使用双下划线防止类属性被覆盖问题

在使用Python编写面向对象的代码时,我们会常常使用“继承”这种开发方式。例如下面这一段代码: class Info: def __init__(self): pass...

深入浅析Python 中的sklearn模型选择

1.主要功能如下: 1.classification分类 2.Regression回归 3.Clustering聚类 4.Dimensionality reduction降维 5.Mo...

Python+selenium点击网页上指定坐标的实例

Python+selenium点击网页上指定坐标的实例

例如有些页面元素很难获取,但是位置很固定,那么可以直接用坐标来进行操作 例如要对页面上的(x:200, y:100)进行操作,可以用如下代码: from selenium impor...

Django给admin添加Action的步骤详解

Django给admin添加Action的步骤详解

前言 django 的 admin 是个非常方便的admin portal,可以根据自己的需要重写. 在使用Django自带的admin后台的时候,他提供了一些默认的指令可以对数据进行操...