我有这样的数据。 x是下面的列表。
['197056942', '91004902', ['104608942', '95134582'], '91967062']
预期结果应为:
197056942|91004902|104608942|91967062
197056942|91004902|95134582|91967062
我尝试使用zip
但无法获得正确的结果。它截断了数据。
zip(*x)
[('1', '9', '104608942', '9'), ('9', '1', '95134582', '1')]
答案 0 :(得分:0)
我试图解决你的问题。这比我想象的要困难。 这是我的Python代码。
input = ['1','2','3','4',['5','6','7'],'8','9',['10','11'],'12']
tmp = [[]]
for i in input:
if isinstance(i, list):
tmp = [j+[k] for j in tmp for k in i]
else:
tmp = [j+[i] for j in tmp]
output = ["|".join(i) for i in tmp]
输出:
>>> output
['1|2|3|4|5|8|9|10|12',
'1|2|3|4|5|8|9|11|12',
'1|2|3|4|6|8|9|10|12',
'1|2|3|4|6|8|9|11|12',
'1|2|3|4|7|8|9|10|12',
'1|2|3|4|7|8|9|11|12']