我有这样的数据:
[[var, list], [x1, [x,y,z]], [x2, [a,b,c]]]
我想将其转化为:
[[var, list], [x1, x],[x1,y],[x1,z], [x2, a],[x2,b],[x2,c]]
但我不知道如何。
答案 0 :(得分:1)
让我先解释一下你的起始名单:
data = df
c = df[df['Parameter1_Calculation']=='ALL']
data.drop(c.index).append(c)
根据需要重新排列:
>>> z = [['var', ['list']], ['x1', ['x','y','z']], ['x2', ['a','b','c']]]
或者,进一步重新安排:
>>> [ [[x, y] for y in lst] for x, lst in z]
[[['var', 'list']], [['x1', 'x'], ['x1', 'y'], ['x1', 'z']], [['x2', 'a'], ['x2', 'b'], ['x2', 'c']]]
答案 1 :(得分:0)
这不是最佳解决方案,但它使用非常基本的python命令,以便您能够跟踪正在发生的事情。
data = [['var', 'list'], ['x1', ['x','y','z']], ['x2', ['a','b','c']]]
final = []
for pair in data:
if pair == ['var', 'list'] :
final.append(pair)
else:
for entry in pair[1]:
final.append([pair[0], entry])
print(final)