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]

猜你在找的Python相关文章