Python-命名元祖

 

python中的_和__

https://blog.csdn.net/m0_38063172/article/details/82179591

 

Python-命名元祖 :

https://www.cnblogs.com/staff/p/11474162.html

 

二叉树(二叉搜索树-AVL树-B树)

https://www.cnblogs.com/staff/p/11454395.html

 

列表、栈、队列、链表、哈希表

https://www.cnblogs.com/staff/p/11447791.html

 

算法进阶(贪心算法,动态规划)

https://www.cnblogs.com/staff/p/11474767.html

 

一、命名元祖基本操作

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返回数据的时候特别有用

你可能感兴趣的:(python问题总结)