Python学习:字典(dictionary)
异常处理小技巧
异常
? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常。
? 异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
捕捉异常可以使用try except 语句。
try except 语句用来检测try 语句块中的错误,从而让except 语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try 里捕获它。
"""
example01 - 小技巧
Author:悾格
Date: 2021/7/30
"""
flag = True
while flag:
try:
a, b, c = map(int, input('请输入三条边的长度:').split())
print(a, type(a))
print(b, type(b))
print(c, type(c))
break
except ValueError:
print('输入错误,请重新输入!!!')
字典
? 在这之前我们已经学了列表、元组、字符串、集合,而列表、元组以及集合都是容器型数据类型,但是在当我们想要存储一个人甚至100人的个人信息时就会发现,之前的数据类型不是很理想,一个人的信息不是一个值,而是一堆的变量,如下:
message = [1001, '悾格', True, '1999-12-31']
? 相信大家看到这个,都基本上能猜到他们的具体是啥,但是这只是一个人的信息,如果是两个人的,那么在列表中再嵌套一个列表,来表示不同的人,可是我们却不能清楚的知道这个值含义是啥,是谁的。
? 所以,为了处理这个数据带来的问题,就产生了一个新的可变容器数据类型——字典(dictionary)
字典组成
? 元素由键和值两部分组成,冒号前面的称为键,冒号后面的称为值,合在一起叫键值对
student = {
'id': 210502,
'name': '悾格',
'sex': '男'
}
? 如上,就可以看出这组数据是:一个学号为210502,姓名为悾格的男同学。
字典的创建和使用
"""
example02 - 字典的创建和使用
Author:悾格
Date: 2021/7/30
"""
student1 = {
'id': 1001,
'name': '悾格',
'sex': True,
'birthday': '1999-12'
}
print(student1)
print(len(student1))
for key in student1.keys():
print(key, student1[key])
print('-' * 20)
for value in student1.values():
print(value)
print('-' * 20)
for key, value in student1.items():
print(key, value)
print('-' * 20)
student2 = dict(id=1002, name='空格', sex=True, birthday='1999-01')
print(student2)
dict1 = {i: i ** 2 for i in range(1, 10)}
print(dict1)
字典的运算
"""
example03 - 字典的运算
Author:悾格
Date: 2021/7/30
"""
student2 = dict(id=1002, name='悾格', sex=True, birthday='1999-01')
student2['name'] = '王大娘'
student2['sex'] = False
student2['address'] = '贵州镇远'
print(student2)
print('name' in student2)
print('age' in student2)
print('address' in student2)
print(student2.get('age'))
print(student2.get('age', 20))
print(student2.get('name', '无名氏'))
print(student2.pop('name'))
print((student2.get('name', '无名氏')))
if 'birthday' in student2:
print(student2['birthday'])
字典的相关操作
"""
example04 - 字典的相关操作
Author:悾格
Date: 2021/7/30
"""
dict1 = {'A': 100, 'B': 200, 'C': 300}
dict2 = {'D': 400, 'E': 500, 'A': 600}
dict1.update(dict2)
print(dict1)
dict1.pop('B')
dict1.popitem()
print(dict1)
print(dict1.setdefault('C', 800))
print(dict1.setdefault('K', 10000))
print(dict1)
dict1.clear()
print(dict1)
小案例
"""
example05 - 字典中保存了股票信息,完成下面的操作
1,找出股票价格大于100元的股票并创建一个新的字典
2.找出价格最高和最低的股票对应的股票代码
3.按照股票价格从高到低给股票代码排序
Date: 2021/7/30
"""
stocks = {
'AAPL': 191.88,
'GOOG': 1186.96,
'IBM': 149.24,
'ORCL': 48.44,
'ACN': 166.89,
'FB': 208.09,
'SYMC': 21.29
}
new_stocks = {key: value for key, value in stocks.items() if value > 100}
print(new_stocks)
print('-' * 20)
keys = ['AAPL', 'GOOG', 'IBM', 'ORCL', 'ACN', 'FB', 'SYMC']
print(max(stocks, key=stocks.get))
print(min(stocks, key=stocks.get))
print(sorted(stocks, key=stocks.get, reverse=True))
dict1 = {'A': 1, 'B': 2, 'C': 3, 'D': 4}
dict2 = dict(zip(dict1.values(), dict1.keys()))
print(dict1)
print(dict2)
|