要一直走下去

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、命名元祖基本操作

from collections import namedtuple

# 创建命名元祖Good类,包括2个属性'price'和'weight'
Good = namedtuple('Good', ['price', 'weight'])
# 创建对象
good1 = Good(1, 1)

# 使用_fields查看字段名
print(Good._fields) # ('price', 'weight')
# 使用 _replace() 修改对象属性值
good2 = good1._replace(price=22)
print(good1) # Good(price=1, weight=1)
print(good2) # Good(price=22, weight=1)
# 使用 _asdict()函数把 命名元祖->字典
print(good1._asdict()) # OrderedDict([('price', 1), ('weight', 1)])
# 字典->命名元祖
d = {'price': 33, 'weight': 44}
print(Good(**d)) # Good(price=33, weight=44)
# 列表->命名元祖
goods_iterator = map(Good._make, [(23, 1001), (21, 1002), (25, 1003), ]) # 返回的是迭代器
# 命名元祖->列表
print(list(goods_iterator)) # [Good(price=23, weight=1001), Good(price=21, weight=1002), Good(price=25, weight=1003)]

二、命名元祖用途:命名元组在存储csv或者sqlite3返回数据的时候特别有用

posted on 2019-09-06 12:44  要一直走下去  阅读(283)  评论(0编辑  收藏  举报