我有一个数据集,我正在尝试解析并从中创建一个新列表。样本如下所示:
(089964, 64509, 4890, 517, [
innerArray(a=789454, b=789454, c=56, o=1, d=66, e=63),
innerArray(a=789454, b=789454, c=56, o=1, d=66, e=63),
innerArray(a=788878, b=768910, c=112, o=2, d=66, e=63),
innerArray(a=788878, b=928718, c=2464, o=44, d=66, e=63),
innerArray(a=789454, b=789454, c=56, o=1, d=66, e=63)])
(089967, 64534, 4825, 517, [
innerArray(a=567454, b=789454, c=56, o=1, d=66, e=63),
innerArray(a=567454, b=789454, c=56, o=1, d=66, e=63),
innerArray(a=876878, b=768910, c=112, o=2, d=66, e=63),
innerArray(a=876878, b=928718, c=2464, o=44, d=66, e=63),
innerArray(a=875454, b=789454, c=56, o=1, d=66, e=63)])
我正在使用一个非常简单的代码来提取我需要的内容:
for i in tempFullList:
print i[0],i[1],i[2],i[3],i[4]
其中089964, 64509, 4890, 517
分别为i[0],i[1],i[2],i[3]
,整个innerArray
为i[4].
我真正期待的是一个列表,每行包含i [0],i [1],i [2],i [3]以及innerarray的每个元素。例如:
(089964, 64509, 4890, 517,789454,789454,56,1,66,63), ...
InnerArray是解析日志文件时创建的namedtuple的类型名称。 我正在研究一个可以迭代所有innerArray的代码(大小不固定),并且会得到一些帮助。
答案 0 :(得分:0)
假设innerArray
是一个类,并且访问它的元素就像ia.a
,ia.b
等,其中ia
是innerArray
个对象,这里&#39 ;你可以做的事情(xs是你的整个元组):
result = []
common = xs[:4] # The first 4 elements, which will be common
xs = xs[4:] # The list of innerArray elements
for x in xs:
result.append(common[:]) # Makes a copy of the common list
result[-1].extend([x.a, x.b, x.c, x.o, x.d, x.e]) # Or however you want to get the elements out of the "innerArray"; -1 selects the last inserted list.
如果您尽可能多地向我们提供有关代码的详细信息,例如innerArray,那么人们就可以更轻松地回答您的问题。
编辑:刚刚注意到你有多个元组,如xs
,在这种情况下,只需迭代元组列表,对于每个元组,执行上述操作。