我有清单:
list_mix = [['1','2','3'],['a','b','c'], ['d','e','f'], ['g','h','i']]
第一个列表必须与list_mis中的其他列表合并。结果应该是:
['1','2','3','a','b','c']
['1','2','3','d','e','f']
['1','2','3','g','h','i']
以下代码给出了“TypeError:list indices必须是整数,而不是list”:
for item in list_mix[1:]:
print (list_mix[0] + list_mix[item])
任何没有外部库的解决方案都将受到赞赏。
答案 0 :(得分:3)
item
是子列表已经,不是索引。直接使用它:
for item in list_mix[1:]:
print (list_mix[0] + item)
Python for
语句为Foreach loop construct,依次将list_mix[1:]
中的每个元素分配给item
。
演示:
>>> list_mix = [['1','2','3'],['a','b','c'], ['d','e','f'], ['g','h','i']]
>>> for item in list_mix[1:]:
... print (list_mix[0] + item)
...
['1', '2', '3', 'a', 'b', 'c']
['1', '2', '3', 'd', 'e', 'f']
['1', '2', '3', 'g', 'h', 'i']
答案 1 :(得分:1)
使用列表推导将每个子列表添加到list_mix
的子列表0,use list_mix[1:]
以从['1','2','3']
之后的元素开始。
[list_mix[0] + x for x in list_mix[1:]]
[['1', '2', '3', 'a', 'b', 'c'], ['1', '2', '3', 'd', 'e', 'f'], ['1', '2', '3', 'g', 'h', 'i']]