您的位置 首页 Python

python – 列表中的命名元组

我有以下清单

a = [[a1,b1,c1,[d1,e1,f1],[a2,b2,c2,[d2,e2,f2],[a3,b3,c3,[d3,e3,f3]]

我怎样才能将它变成一个命名元组列表

a[0].val1
>>> a1
a[1].val2
>>> b2
a[0].box
>>> [d1,f1]

解决方法

使用
collections.namedtuple class factory创建一个命名的元组类:

mynamedtuple = collections.namedtuple('mynamedtuple',('val1','val2','val3','box'))

somenamedtuple = mynamedtuple('a1','a2','a3',['d1','e1','f1'])
somenamedtuple.box  # returns ['d1','f1']

您可以使用列表解析转换现有列表:

a = [mynamedtuple(*el) for el in a]

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章