|NO.Z.00017|——————————|BigDataEnd|——|Hadoop&Python.v17|——|Arithmetic.v17|语法:数据结构&字典dict.V4|

发布时间:2022-06-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了|NO.Z.00017|——————————|BigDataEnd|——|Hadoop&Python.v17|——|Arithmetic.v17|语法:数据结构&字典dict.V4|脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
一、字典 dict
### --- 类似这种销售信息的数据结构,我们使用元组或者列表存储是可以的。
top_sales = [('PEter', 213), ('John', 253), ('Tony', 284), ('Henry', 205), ('Mike', 280)]

### --- 可以很方便的取出在这个榜单中第一名、第二名或者任意一名的销售数据。但它有一个缺点,如果我们想取出特定的某个销售人员的数据时,它会很麻烦。比如如果想要找出Mike的数据,只能去循环遍历,一个个的去比对。
for sale, amount in top_sales:
if sale == 'Mike':
PRint(sale, amount)
~~~     # 这样不光写起来麻烦,执行效率也很低,假设这是一个庞大的销售数据库,那要花多少时间寻找呢?所以必须使用字典。

一、字典的定义
### --- 使用花括号,可以直接定义字典

sales = {
'Peter': 213,
'John': 253,
'Tony': 284,
'Henry': 205,
'Mike': 280
}
~~~     # 每一行冒号左边的是键(key),右边的是值(value),称作键值对,以逗号分隔开。在这里我们故意写成每行一个键值对,实际并不要求每行一个,只要用逗号分隔开来就可以。键是不能重复的,值可以重复。
~~~     # 对于top_sales 这种两个一组、一一对应的列表来说,可以直接转换为字典。

sales = dict(top_sales)
# sales现在的值变成了
{
'Peter': 213,
'John': 253,
'Tony': 284,
'Henry': 205,
'Mike': 280
}
二、增删改查
~~~     # 有了字典,那现在就可以快速的取出任意一个人的数据了
sales['Mike']
sales['Henry']

~~~     # 注意,键的名称是区分大小写的,'Mike' 和 'mike'分别对应了不同的键。
sales['mike']
# KeyError: 'mike'
~~~     # 这行代码将会报错,因为不存在'mike'这个键。在访问之前,需要先往字典中添加数据相应的键:
# 值可以先设置为None或者0
sales['mike'] = 0

~~~     # 修改字典中的数据:
sales['mike'] = 300

~~~     # 删除字典中的数据
del sales['mike']
三、遍历字典
~~~     # 字典的遍历和列表、元组、字符串有所区别,由于它的每一项都是一个键值对,所以在遍历时也要注意。
for key_value in sales.ITems():
print(key_value)

~~~     # 注意sales.items() 这种写法,在遍历字典时,这是一种通用的写法。items函数将字典内的内容转换成了一种可迭代的序列,以供for循环遍历,遍历出来的每一项是一个元组,包含了键和值。所以通常我们直接写成这样:
for key, value in sales.items():
print(key, value)
~~~     # 注意中间的逗号和最后的打印结果。
~~~     # 如果不使用items函数,那遍历的就是字典所有的key。

for key in sales:
print(key)
四、字典函数字典有一些函数和列表是一样的,比如clear, copy,这两个不再介绍,我们来看看其他的函数。
### --- get

~~~     # 如果直接访问字典中一个不存在的key,就会产生报错,所以,通常我们如果不确定是否存在某个key时,会先判断一下:
if 'mike' in sales:
print(sales['mike'])
else:
print('mike', 0)
~~~     # in关键字又一次派上用场了, 在这里用in来检查字典中是否包含"mike"这个键,如果包含则返回True,无论"mike"所对应的值是否为空。这样的写法,很麻烦,每次都要先判断,再查询,这时候get函数就派上用场了。

sales.get('mike', 0)

~~~     # 这一行短短的代码就实现了上面4行代码的功能,它表示在字典中查询'mike'键所对应的值,如果不存在'mike'键,则返回0。这里的0可以替换成任何其他的默认值,这样就极大简化代码逻辑。
### --- keys/values

~~~     # 如果只想单独列出所有的销售人员名单,可以这样写:
sales.keys()
~~~     # 可以对它进行遍历
for sale in sales.keys():
print(sale)
~~~     # 如果只想计算出所有销售人员的销售额总和,也就是公司总销售额,可以直接取出value部分并求和:
sum(sales.values())

 
 
 
 
 
 
 
 
@H_663_126

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

脚本宝典总结

以上是脚本宝典为你收集整理的|NO.Z.00017|——————————|BigDataEnd|——|Hadoop&Python.v17|——|Arithmetic.v17|语法:数据结构&字典dict.V4|全部内容,希望文章能够帮你解决|NO.Z.00017|——————————|BigDataEnd|——|Hadoop&Python.v17|——|Arithmetic.v17|语法:数据结构&字典dict.V4|所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。