我已经创建了一个namedtuple,并使用它来跟踪各个数据集。当我向namedtuple添加一个新的“数据点”时,print()函数显示我没有相同的确切信息。下面是一个例子:
from collections import namedtuple
bbnr = namedtuple('bbnr', ['SN', 'ptr', 'type2'])
DVCS = bbnr('AB01', 101, 'bbnr')
DVCS_b = [DVCS]
print(DVCS_b) # produces [bbnr(SN='AB01', ptr=101, type2='bbnr')]
DVCS = DVCS, bbnr('AB02', 105, 'bbnr')
DVCS_b = [DVCS]
print(DVCS_b) # [(bbnr(SN='AB01', ptr=101, type2='bbnr'), bbnr(SN='AB02', ptr=105, type2='bbnr'))]
请注意,在第二个打印输出中,括号内的整个元组周围有一组额外的括号()。在
如何才能与向namedtuple添加新元素保持一致?在
您的问题与命名元组无关;您正在创建这些元组。在
相反,您在这里创建了一个元组:
注意逗号;元组由逗号定义,而不是由括号定义:
^{pr2}$然后将这个元组包装成一个list对象。在
如果需要这些值的列表,则只需创建列表:
或者创建不带
DVCS
值的新命名元组,并从现有列表中获取以前创建的命名元组:或将其附加到现有列表:
相关问题 更多 >
编程相关推荐