记录每天学习代码的过程:
# 把元组当作记录使用
lax_coordinates = (33.9425, -118.408056)
city, year, pop, chg, area = ('Tokyo', 2003, 32_450, 0.66, 8014)
traveler_ids = [('USA', '31195855'), ('BRA', 'CE342567'), ('ESP','XDA205856')]
# 在迭代列表过程中,passport变量被绑定到每个元组上
for passport in sorted(traveler_ids):
# 格式化运算符理解元组结构,把每一项当作不同的字段
print('%s/%s' %passport)
# for循环知道如何获取元组中单独的每一项,这叫“拆包”。这里我们对第二项不感兴趣,因此把它赋值给虚拟变量_.
for country, _ in traveler_ids:
print(country)
# 嵌套拆包
# 拆包嵌套元组,获取经度
metro_areas = [
('Tokyo', 'JP', 36.933, (35.689722, 139.691667)),
('Delhi NCR', 'IN', 21.935, (28.613889, 77.208889)),
('Mexico City', 'MX', 20.142, (40.808611, -74.020386)),
('Sao Paulo', 'BR', 19.649, (-23.547778, -46.635833)),
]
def main():
print(f'{"":15} | {"latitude":>9} | {"longitude":>9}')
for name, _, _, (lat,lon) in metro_areas:
if lon <= 0:
print(f'{name:15} | {lat:9.4f} | {lon:9.4f}')
if __name__ == '__main__':
main()
参考文献
流畅的Python(第2版)