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
合并由python代码生成的两个列表_Python_List_Merge_Set - Fatal编程技术网

合并由python代码生成的两个列表

合并由python代码生成的两个列表,python,list,merge,set,Python,List,Merge,Set,我知道我们可以通过使用类似于final\u list=list1+list2的东西来合并两个列表,但是如果列表是由python代码生成的,并且它们没有与之相关联的变量,比如list1和list2,我们如何合并它们呢?例如,我的代码执行类似于打印输出的操作,以提供: [1,2,3,4] [2,0,5,6] 我想合并它们,以便使用set(final_list)获得唯一的值。但是我怎样才能得到最终的清单呢 PS-我的代码可以返回多个列表。它不限于两个 为函数指定一个变量。取函数生成的列表,在另一个变

我知道我们可以通过使用类似于
final\u list=list1+list2
的东西来合并两个列表,但是如果列表是由python代码生成的,并且它们没有与之相关联的变量,比如list1和list2,我们如何合并它们呢?例如,我的代码执行类似于打印输出的操作,以提供:

[1,2,3,4]
[2,0,5,6]
我想合并它们,以便使用set(final_list)获得唯一的值。但是我怎样才能得到最终的清单呢


PS-我的代码可以返回多个列表。它不限于两个

为函数指定一个变量。取函数生成的列表,在另一个变量中将它们连接在一起。只需确保您的函数返回生成的列表,而不是打印出来

# my_list_generator returns two values.

>>> a, b = my_list_generator()
>>> a
[1, 2, 3, 4]
>>> b
[2, 0, 5, 6]
>>> final_list = a + b
>>> final_list
[1, 2, 3, 4, 2, 0, 5, 6]
把这些都划掉!现在我知道该函数可以返回多个对象,让我们这样做(稍微理解一下列表):

此外,如果您不想要复制品,只需再做一件事:

real_final_list = [i for i in final_list if i not in real_final_list]

当您从一个函数返回多个值时,它们将以元组的形式返回。您可以轻松地解压缩元组

您可以修改生成输出的函数,或者更困难的方法是手动将其转换为字符串,然后再转换为集合

list = []
strings_of_list = output.split('\n')
for string in strings_of_list:
    values = string[1:-1].split(',')
    for val in values:
        list+=[int(val)]    
set(list)
如果我理解正确: 您有一个函数(现在我们称它为
listGen()
),它返回一些列表。现在,您要将这些列表合并到一个大列表中,
final\u list

您可以执行以下操作:

# listGen defined earlier

final_list = []
for i in listGen():
    final_list += i

unique_values = set(final_list) # or whatever you wanted to do with it

由于
listGen
返回一个元组,我们可以循环它的内容,这些是您想要附加到彼此的列表。

这些列表是由函数生成的吗?将它们存储在变量中它们…如果它们是由函数生成的,在函数末尾使用return而不是print,然后您可以存储列表如果您
print
something而不将其保存在任何地方,则该列表已不存在。如果以后要使用它,请将其保存到变量中。@thefourtheye是的,它们是由函数生成的。能否在问题中显示摘要但具有代表性的代码?列表“没有与之关联的变量”,但它们是如何创建的?它们是在同一个函数中生成的。对不起,这两个列表(
a
b
)是在同一个函数中生成的?所以生成随机列表的函数返回两个列表,而不是一个?@Zizouz212您的问题不清楚。请澄清你的真实情况。@Marcin抱歉,我刚意识到…:/对不起,我的英语不好。是,两个列表a和b在同一个函数中生成。
list = []
strings_of_list = output.split('\n')
for string in strings_of_list:
    values = string[1:-1].split(',')
    for val in values:
        list+=[int(val)]    
set(list)
# listGen defined earlier

final_list = []
for i in listGen():
    final_list += i

unique_values = set(final_list) # or whatever you wanted to do with it