[英]how could this code Return unique values of a list?
def uniq(list):
""" Returns unique values of a list """
u_list = []
for item in list:
if item not in u_list:
u_list.append(item)
return u_list
A/空列表
B/list 有一个元素(任何类型)
具有 2 个不同元素(相同类型)的 C/list
具有两次相同元素(相同类型)的 D/list
具有超过 2 次相同元素(相同类型)的 E/list
具有多种类型(整数、字符串等)的 F/list
G/不是列表参数(例如:将字典传递给方法)
uniq = lambda x: list(set(x))
定义了一个 function ,它应该满足您的大部分需求,除了您在G
中指定的内容。 如果对输入类型没有任何限制,那么就很难理解你在问什么。 这实际上适用于字典,因为 set 构造函数会将自身限制为字典的键。 更一般地说,它将简单地迭代传递给它的任何 object 并将迭代元素转换为一个集合。 但我建议您努力更好地定义G
中的含义,否则您可能最终会出现意外行为。
至于它是如何工作的,这很简单: set(x)
将您的列表转换为一个集合,它会自动从中删除所有重复项,然后list(set(x))
将其简单地转换回一个列表。
最后,我强烈建议不要将 function 参数list
命名为内置 class,并且不应将其作为变量名覆盖。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.