【《流畅的python》2.3节学习笔记-2】

前言

本文为《流畅的python》的2.3节的学习笔记。

嵌套元组拆包


metro_areas = [
('Tokyo','JP',36.933,(35.689722,139.691667)),
('Delhi NCR', 'IN', 21.935, (28.613889, 77.208889)),
('Mexico City', 'MX', 20.142, (19.433333, -99.133333)),
('New York-Newark', 'US', 20.104, (40.808611, -74.020386)),
('Sao Paulo', 'BR', 19.649, (-23.547778, -46.635833)),
]

说明:
列表metro_areas包含5个元组元素,每个元组元素中又嵌套一个指示经纬度的元组。


'''
format函数
居中对齐 (:^)
靠左对齐 (:<)
靠右对齐 (:>)
'''
#print title
print('{:15} | {:^9} | {:^9}'.format('', 'lat.', 'long.'))

#{:9.4} :打印4位(不含小数点)
#{:9.4f}:打印至小数点后4位
fmt = '{:15} | {:9.4f} | {:9.4f}'

for name, cc, pop, (latitude, longitude) in metro_areas:
    if longitude <= 0:
        print(fmt.format(name, latitude, longitude))
>>>
                |   lat.    |   long.  
Mexico City     |   19.4333 |  -99.1333
New York-Newark |   40.8086 |  -74.0204
Sao Paulo       |  -23.5478 |  -46.6358

说明:
第一行用于打印标题。
第二行设置了每行的显示格式,包括每个元素所占位长度(15,9,9)和小数点后显示位数(.4f)。
第三行For循环中对列表metro_areas进行拆包,要严格按照外层元组的嵌套结构对元组每个元素进行命名。
备注:使用format函数时,可使用特殊符号进行对齐(居中对齐 (:^) 靠左对齐 (:<)
靠右对齐 (:>))

具名元组

from collections import namedtuple
City = namedtuple('City', 'name country population coordinates')
tokyo = City('Tokyo', 'JP', '36.933', (35.689722, 139.691667))
print(tokyo)
print(tokyo.coordinates)
>>>
City(name='Tokyo', country='JP', population='36.933', coordinates=(35.689722, 139.691667))
(35.689722, 139.691667)

说明:
创建一个具名元组需要两个参数,一个是类名,另一个是类的各个字段的名字。通过为元组的每个位置分配一个名称,使得代码更加易于阅读和理解。

总结

嵌套元组拆包方法是严格按照嵌套元组结构对元组每个元素进行命名。
具名元组的创建方法,作用是可以使代码更加易于阅读和理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值