Python字典知识详解,操作详解

目录

1、什么是字典

2、字典的创建

2.1  字典的创建:

2.2  字典的特点:

 3、字典的查询操作

3.1  采用中括号[]进行字典的查询

3.2  采用get()方法进行字典的查询 

3.3  字典元素的遍历

4、字典元素的增,删,该操作

4.1  前言:key键的判断:

4.2  字典元素增加:

4.3  字典元素删除:

4.4  字典元素更改:

4.5  清空字典clear():

4.6  删除字典del

 5、获取字典视图的三个方法:

6、字典推导式


1、什么是字典

  • Python内置的数据结构之一,与列表一样是一个可变序列
  • 字典与列表的区别:
字典与列表对比条件字典列表
存储元素多个多对
有无序列无序有序

(1)字典无序序列:通过hash()计算键的存储位置所以字典是无序的,并不是按顺序排列

(2)列表中的元素是一个一个的,字典中的元素是一对一对

如:

列表:lst1=[1,2,3,4,5,6]

字典:scores={‘张三’:100,‘李四’:98,‘王五’,45}

  • 字典是以键值对的方式存储数据,字典是一个无序的序列

注:键值:冒号之前叫建,冒号之后叫值


2、字典的创建

2.1  字典的创建:

方式1:使用花括号

方式2:使用内置函数dict()

#方法1
scores={'张三':90,'李四':50,'王五':45}
print(scores)#{'张三': 90, '李四': 50, '王五': 45}
print(type(scores))##方法2
student=dict(name='张三',age=20)
print(student)#{'name': '张三', 'age': 20}
print(type(student))#

2.2  字典的特点:

  • 字典中的所以元素都是一对,key不允许重复,value可以重复
scores={'张三':90,'张三':50}
print(scores)#{'张三': 50}  注:字典中键不可重复scores={'张三':90,'李四':90}
print(scores)#{'张三': 90, '李四': 90}  注:字典中值可重复
  • 字典中的元素是无序的
  • 字典中的key必须是不可变对象
  • 字典会浪费较大的内存,是一种使用空间换时间的数据结构

 3、字典的查询操作

获取字典元素方式举例
[]举例:scores[‘张三’]
get()方法举例:scores.get('张三')

3.1  采用中括号[]进行字典的查询

scores={'张三':90,'李四':50,'王五':45}
print(scores)#{'张三': 90, '李四': 50, '王五': 45}
print(type(scores))#print(scores['张三'])#90
print(scores.get('张三'))#90

3.2  采用get()方法进行字典的查询 

scores={'张三':90,'李四':50,'王五':45}
print(scores)#{'张三': 90, '李四': 50, '王五': 45}
print(type(scores))#print(scores['张三'])#90
print(scores.get('张三'))#90#print(scores['陈六'])#报错:KeyError: '陈六'print(scores.get('陈六'))#None
print(scores.get('陈六','没有此键'))#没有此键

3.3  字典元素的遍历

scores={'张三':90,'李四':50,'王五':45}
for item in scores:print(item,scores[item],scores.get(item))
#运行结果:
'''
张三 90 90
李四 50 50
王五 45 45
'''

4、字典元素的增,删,该操作

4.1  前言:key键的判断:

scores={'张三':90,'李四':50,'王五':45}#key的判断
print('张三' in scores)#True
print('张三' not in scores)#False

4.2  字典元素增加:

scores={'张三':90,'李四':50,'王五':45}scores['陈六']=10
print(scores)#{'张三': 90, '李四': 50, '王五': 45, '陈六': 10}

4.3  字典元素删除:

scores={'张三':90,'李四':50,'王五':45}del scores['李四']
print(scores)#{'张三': 90, '王五': 45}

4.4  字典元素更改:

scores={'张三':90,'李四':50,'王五':45}
print(scores)#{'张三': 90, '李四': 50, '王五': 45}scores['李四']=80
print(scores)#{'张三': 90, '李四': 80, '王五': 45}

4.5  清空字典clear():

scores={'张三':90,'李四':50,'王五':45}scores.clear()
print(scores)#{}

4.6  删除字典del

scores={'张三':90,'李四':50,'王五':45}
print(scores)#{'张三': 90, '李四': 50, '王五': 45}del scores
print(scores)#NameError: name 'scores' is not defined

 5、获取字典视图的三个方法:

获取字典视图方法作用
keys()获取字典中所以key(将其所有key组成列表)
values()获取字典中所有value(将其所有value组成列表)
items()获取字典中所有key,value对(将其所有items组成列表)
 
scores={'张三':90,'李四':50,'王五':45}
key=scores.keys()
print(key,type(key))
print(list(key))
#dict_keys(['张三', '李四', '王五']) value=scores.values()
print(value,type(value))
print(list(value))
#dict_values([90, 50, 45]) 'dict_values'>item=scores.items()
print(item,type(item))
print(list(item))
#dict_items([('张三', 90), ('李四', 50), ('王五', 45)]) 

6、字典推导式

例题:以items为键prices为值构建字典

items=['Fruits','Books','Others']
prices=[96,78,58]

注:需要使用内置函数zip()

zip():用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回有这些元组组成的序列

items=['Fruits','Books','Others']
prices=[96,78,58]d={item:price for item,price in zip(items,prices)}
print(d)#{'Fruits': 96, 'Books': 78, 'Others': 58}d={item.upper():price for item,price in zip(items,prices)}
print(d)#{'FRUITS': 96, 'BOOKS': 78, 'OTHERS': 58}

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部