Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用*args组合多个列表?_Python_List_Args_Sublist - Fatal编程技术网

Python 如何使用*args组合多个列表?

Python 如何使用*args组合多个列表?,python,list,args,sublist,Python,List,Args,Sublist,我目前有这个功能,我想使其可扩展以容纳更多列表。换句话说,无论我必须组合2个列表还是10个列表,我都想使用这个函数 l1 = [['a','b','c'],['d','e','f']] l2 = [['A','B','C'],['D','E','F']] [L1 + L2 for L1, L2 in zip(l1, l2)] 结果应该是: [['a','b','c','A','B','C'],['d','e','f','D','E','F']] 使用: 演示: 或者,作为一种功能: de

我目前有这个功能,我想使其可扩展以容纳更多列表。换句话说,无论我必须组合2个列表还是10个列表,我都想使用这个函数

l1 = [['a','b','c'],['d','e','f']] 
l2 = [['A','B','C'],['D','E','F']]

[L1 + L2 for L1, L2 in zip(l1, l2)]
结果应该是:

[['a','b','c','A','B','C'],['d','e','f','D','E','F']]
使用:

演示:

或者,作为一种功能:

def combine_lists(*lists):
    return [sum(l, []) for l in zip(*lists)]

combine_lists(l1, l2)

明亮的只需确认函数如下所示:def CombineLists(self,*list):[sum(*l,[])for l in zip(*list)]@Chris:你需要一个
return
,这是我的失误。我想压缩列表,而不是简单地将它们组合起来。例如,l1=['a'、'b'、'c']、['d'、'e'、'f']]和l2=['a'、'b'、'c']、['d'、'e'、'f']]。结果应该是:['a'、'b'、'c'、'a'、'b'、'c']、['d'、'e'、'f'、'd'、'e'、'f']@Chris:现在我可以使用这个示例了。:-)更新以证明这正是代码所做的。我只是不明白。我得到:['a',b',c'],['d',e',f'][[a',b',c'],['d',e',f']]是
L1
L4
的样本输出还是样本输入?它们不是输入,它们是样本输入,它们为我工作。在我定义了l1和l2之后,我使用[l1+l2表示l1,zip中的l2(l1,l2)]您在这里使用了令人困惑的名称;输入为小写
l
,循环变量为大写
l
。您输入的
l1
l2
名称是否与您帖子中的
l1
l2
列表相同?
>>> l1 = [['a', 'b', 'c'], ['d', 'e', 'f']]
>>> l2 = [['A', 'B', 'C'], ['D', 'E', 'F']]
>>> lists = (l1, l2)
>>> [sum(l, []) for l in zip(*lists)]
[['a', 'b', 'c', 'A', 'B', 'C'], ['d', 'e', 'f', 'D', 'E', 'F']]
def combine_lists(*lists):
    return [sum(l, []) for l in zip(*lists)]

combine_lists(l1, l2)