gpt4 book ai didi

Python-创建一个函数以从未知数量的参数中获取唯一列表

转载 作者:太空宇宙 更新时间:2023-11-04 06:50:49 24 4
gpt4 key购买 nike

Python 新手 - 谁能告诉我我做错了什么?

我需要编写一个函数,它接受未知数量的参数并返回一个唯一列表。例如:

a= ['mary', 'james', 'john', 'john']
b= ['elsie', 'james', 'elsie', 'james']

unique_list(a,b)

['mary', 'james','john', 'elsie']

这是我做一些研究后得到的一些代码,但输出不是我需要的:

def unique_list:(*something)
result1= list(something)
result = ' '.join(sum(result1, []))
new= []
for name in result:
if name not in new:
new.append(name)
return new
       >>> unique_list(a,b)['m', 'a', 'r', 'y', ' ', 'j', 'e', 's', 'o', 'h', 'n', 'l', 'i']

This is another one I have tired:

def unique_list(*something):
result= list(something)
new=[]
for name in result:
if name not in new:
new.append(name)
return new
>>> unique_list(a,b)[['mary', 'james', 'john', 'john'], ['elsie', 'james', 'elsie', 'james']]

Another one but I got an error message:

def single_list(*something):
new=[]
for name in something:
if name not in new:
new.append(name)
new2= list(set(new))
return new2
>>> single_list(a,b)Traceback (most recent call last):  File "", line 1, in     single_list(a,b)  File "", line 6, in single_list    new2= list(set(new))TypeError: unhashable type: 'list'

有什么想法吗?预先感谢您的所有帮助。

最佳答案

您可以使用 set :

def unique_list(a, b):
return list(set(a + b))

对于未知数量的参数,您可以将所有列表与 reduce 相加:

import operator
def unique_list(*args):
return list(set(reduce(operator.add, args)))

这个输出:

>>> a= ['mary', 'james', 'john', 'john']
>>> b= ['elsie', 'james', 'elsie', 'james']
>>> unique_list(a, b)
['james', 'john', 'mary', 'elsie']

关于Python-创建一个函数以从未知数量的参数中获取唯一列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13245305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com