1、定义具名元组需要2个参数,第1个参数是类名,第2个参数是字段名,既可以是可迭代对象(如列表和元组),也可以是空格间隔的字符串:

Card = collections.namedtuple("Card", ("rank", "suit"))
Card = collections.namedtuple("Card", "rank suit")

2、初始化时以一串参数形式传入构造函数:

card_test = Card("J", "hearts")

3、既可以通过.运算符,也可以用索引来取值:

print(card_test.rank)
print(card_test[1])

知识点扩展:

具名元组的定义

Python标准库collections中定义了具名元组(namedtuple)工厂函数,它可以构建带字段名的元组。

工厂函数参数详解

变量名 = namedtuple(typename, field_names, *, rename=False, defaults=None, module=None)

namedtuple工厂函数的参数详解:

typename:定义具名元组的名称,字符串型。

field_names:定义具名元组的字段名。该参数可以使用2种格式:

  • 内部元素都是字符串的列表或元组;

例如['商品','单价','数量']或('商品','单价','数量')

  • 以英文逗号','分隔的长字符串。字段名必须符合以下规则:

例如'商品,单价,数量'

字段名命名规则:

  • 不能与关键字重名
  • 不能以下划线开头
  • 以字母(包括汉字)开头,由字母、数字、下划线组成。

rename:默认是False,意思是必须指定字段名。若为True,系统会对缺省的、重复的字段名自动重命名为'_索引值'。

defaults:设置默认值,可以是列表、元组,当字段数量大于defaults的元素数量时,后面的字段获得缺省值。

例如字段名有'a','b','c'这3个,缺省值给了'1','2'两个缺省值时,'b'=1,'c'=2。

module:设置所属模块,默认是'__main__'。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。