【发布时间】:2018-05-19 18:39:03
【问题描述】:
我有以下列表:
a = [1, 2, ['c', 'd'], 3, 4, ['e', 'f'], 5, 6]
a 中的列表列表数量可能会有所不同,但没有。每个列表列表中的元素数量将保持不变。
例如,如下所示:
a = [1, 2, ['c', 'd'], 3, 4, ['e', 'f'], 5, 6, ['g', 'h'], 7, 8]
或
a = [1, 2, ['c', 'd', 'e'], 3, 4, ['f', 'g', 'h'], 5, 6, ['i', 'j', 'k'], 7, 8]
对于输入:
a = [1, 2, ['c', 'd'], 3, 4, ['e', 'f'], 5, 6]
我期待下面的输出:
[[1, 2, 'c', 3, 4, 'e', 5, 6], [1, 2, 'd', 3, 4, 'f', 5, 6]]
根据编号。列表的列表,列表应如上述格式所示重复。
对于以下输入:
a = [1, 2, ['c', 'd', 'e'], 3, 4, ['f', 'g', 'h'], 5, 6, ['i', 'j', 'k'], 7, 8]
输出应该是:
[[1, 2, 'c', 3, 4, 'f', 5, 6, 'i', 7, 8],
[1, 2, 'd', 3, 4, 'g', 5, 6, 'j', 7, 8],
[1, 2, 'e', 3, 4, 'h', 5, 6, 'k', 7, 8]]
到目前为止,我能够做到以下几点:
a = [1,2,['c','d'],3,4]
for i in a:
if type(i) == list:
t = a.index(i)
ind = a[t]
#idx.append(ind)
a.remove(i)
new = []
for i in ind:
new1 = []
for j in a:
new1.append(j)
new1.insert(t,i)
new.append(new1)
new
>> [[1, 2, 'c', 3, 4], [1, 2, 'd', 3, 4]]
如何扩展我编写的代码以实现所需的任务?
【问题讨论】: