元组除了用作不可变的列表之外,还可以用于没有字段名的记录
元组和记录
元组其实是对数据进行记录,元组中每个元素都存放了记录一个字段的数据和这个字段的位置,这个位置信息给数据赋予了意义,当你只把理解一个不可变的序列,那位置这个概念就变的可有可无了,但是当你理解成一些字段的集合,那位置就变的非常重要了
把元组用作记录
# 存城市的坐标
longitude_and_latitude = (30.236999, 118.225659)
# 存城市的年份、人口和面积
city, particular_year, population, area = ('北京', 3000, 2151.6, 16410.54)
# 列表中每个元组存一个城市名和面积
citys = [('Beijing', 16410.54), ('Tianjin', 11966.45), ('Shanghai', 6340.5), ('Chongqing', 80402)]
# 循环列表,拿出每个城市的数据并打印出来
for i in sorted(citys):
print('%s: %s' % i) # 两个占位符,进行元组拆包
运行后的结果
F:\project_gitee\Test>D:/Python/Python37/python.exe f:/project_gitee/Test/pythonScripts/python_tuple.py
Beijing: 16410.54
Chongqing: 80402
Shanghai: 6340.5
Tianjin: 11966.45
元组拆包
拆包元组可以完美地被当作记录来使用
- 迭代赋值拆包
被可迭代的元素数量必须和接收空档数量保持一致,不然就会拆包不成功
栗子:
正确拆包栗子:
用两个变量去接收,实现了拆包效果
citys = [('Beijing', 16410.54), ('Tianjin', 11966.45), ('Shanghai', 6340.5), ('Chongqing', 80402)]
for i in sorted(citys):
var, values = i
print(var, values)
运行后的结果
F:\project_gitee\T