Python 同时扩展两个列表

Python 同时扩展两个列表,python,list,Python,List,我有两个列表(list_1,list_2)和一个返回两个列表(list_1,list_2)的函数,我想将list_1的项目添加到list_1,将list_2的项目添加到list_2: def lists(): list_1_f = [10,10,10] list_2_f = [20,20,20] return list_1_f,list_2_f list_1, list_2 = [1,1,1], [2,2,2] 我总是会有两个原始列表和扩展将要做的只是另外两个

我有两个列表(list_1,list_2)和一个返回两个列表(list_1,list_2)的函数,我想将list_1的项目添加到list_1,将list_2的项目添加到list_2:

def lists():
    list_1_f = [10,10,10]
    list_2_f = [20,20,20]    
    return list_1_f,list_2_f

list_1, list_2 = [1,1,1], [2,2,2]
我总是会有两个原始列表和扩展将要做的只是另外两个额外的列表,没有其他的可能性。因此,在最后,我将有两个列表,其中包含原始项和从函数中获得的项,并且输出为:

list_1 = [1,1,1,10,10,10]
list_2 = [2,2,2,20,20,20]
我尝试过使用extend函数执行以下行,但都不起作用:

list_1.extend([]), list_2.extend([]) = lists()
list_1.extend(), list_2.extend() = lists()
list_1.extend, list_2.extend = lists()
我总是可以做到以下几点:

list_1a, list_2a = lists()
list_1.extend(list_1a)
list_2.extend(list_2a)
for n in list_of_lists:
  list_of_lists[n].extend(lists()[n])

但是我想知道是否有可能在不创建两个中间列表的情况下进行扩展。

对于处理多个列表,您应该使用嵌套列表。例如,假设您最初拥有此嵌套列表:

l =  [[1,1,1], [2,2,2]]
您可以使用嵌套列表和扩展返回的子列表,方法是:


只需对列表进行汇总,即可将一个列表扩展为另一个列表:

[1,2,3]+[4,5,6]

[1,2,3,4,5,6]

因此,您的代码可能如下所示:

def lists():
    list_1_f = [10,10,10]
    list_2_f = [20,20,20]    
    return list_1_f,list_2_f

list1 = [0]
list2 = [999]

list1 = list1 + lists()[0]
list2 = list2 + lists()[1]

print(list1, list2)
[0,10,10,10][999,20,20,20]


您可以进行迭代,因此可以执行以下操作:

list_1.extend(lists()[0])
list_2.extend(lists()[1])
这是可行的,但可读性不强。如果您制作了一个要附加到
list\u of_list=[list\u 1,list\u 2]
的列表,则可以执行以下操作:

list_1a, list_2a = lists()
list_1.extend(list_1a)
list_2.extend(list_2a)
for n in list_of_lists:
  list_of_lists[n].extend(lists()[n])

希望有帮助

你不是在中间创造两个列表,它们已经存在于记忆中,你只是给它们起名字而已。我不认为有一个简单的选项可以做到这一点,因为
=lists()
正在将此值分配给
=
之前的名称,但您不希望分配,您希望将该值传递给一个方法。这不应该被设置为OP之前提出的问题的副本,该问题最初由于不清楚而关闭。这个问题后来被修改了,现在似乎更清楚了。所以reopening@yatu这是一模一样的!是的@AndrasDeak那个傻瓜的问题在被关闭后被修改了。最初还不清楚。这就是它关闭的原因。那篇文章的更新和更清晰的版本与这篇文章相同,但由于没有重新打开,OP决定继续提问?@yatu,另一个问题因不清楚而关闭,所以这篇文章不是重复?你失去了我。