【发布时间】:2014-07-09 19:05:54
【问题描述】:
我正在尝试定义一个函数,该函数将接受任意数量的列表,并从这些列表中生成一个唯一元素列表。 (我使用的是 Python 3.4)
例子:
a = ['lion', 'tiger', 'panther']
b = ['dog', 'lion', 'bear']
c = ['rat', 'dog', 'tiger']
def merge(*var_list):
newlist = []
for item in var_list:
newlist.append(item)
return newlist
评估:
merge(a,b)
生产:
[['lion', 'tiger', 'panther'], ['dog', 'lion', 'bear']]
理想情况下,我希望它生成一个如下所示的列表:
['lion, 'tiger', 'panther', 'dog', 'bear'] #order is not important
我怎样才能达到上述结果?
【问题讨论】:
-
你能假设每个原始列表中的元素都是唯一的吗? (如果可以的话,它会稍微简化/加速事情。)
-
您是否错过了预期结果中的老鼠?
-
var_list中的项目是您传递给合并的 列表,这就是为什么您的结果是列表列表,而不仅仅是字符串列表(因为您需要)。 -
@klashxx "rat" 不在输出中,因为他只合并了 a 和 b。请参阅“评估:合并(a,b)”。如果他要合并 a b 和 c,然后使用,rat 将在输出中。
-
我明白了,答案刚刚更新。 ;)
标签: python unique python-3.4