python中的具名元组collections.namedtuple

python中的具名元组collections.namedtuple

在这里插入图片描述

from collections import namedtuple
# 具名元组是collections.namedtuple中的一个工厂函数,
# 用来构建一个带字段名的元组和一个有名字的类
City = namedtuple("City", "city country pop coordinates")
tokyo = City("Tokyo", "JP", "36.6", (35.6, 129.7))
print(type(tokyo))
print(tokyo.pop)
print(tokyo[1])
# 结果
# City(city='Tokyo', country='JP', pop='36.6', coordinates=(35.6, 129.7))
# 36.6
# JP
# _field 属性是一个包含这个类所有字段名称的元组
print(City._fields)
# 结果
# ('city', 'country', 'pop', 'coordinates')
Latlong = namedtuple("Latlong","lat long")
delhi_data = ("Delhi","IN",21.5,Latlong(28.1,77.8))
# _make()通过接受一个可迭代对象来生成这个类的一个实例,他的作用和City(*delhi_data)一样
# delhi = City._make(delhi_data)
delhi = City(*delhi_data)
print(delhi)
# 结果
# City(city='Delhi', country='IN', pop=21.5, coordinates=Latlong(lat=28.1, long=77.8))
# _asdict把具名元组以collections.OrdereDict的形式返回,
print(delhi._asdict())
# 结果
# OrderedDict([('city', 'Delhi'), ('country', 'IN'), ('pop', 21.5), ('coordinates', Latlong(lat=28.1, long=77.8))])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值