字符串重复的列表列表

时间:2014-03-13 10:24:08

标签: list repeat

我有这样的数据。 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')]

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']