如何在python中打印数字列表,而不使用;“设置”;在它之前?使用返回新列表的函数&;这些数字只出现一次

如何在python中打印数字列表,而不使用;“设置”;在它之前?使用返回新列表的函数&;这些数字只出现一次,python,list,numbers,set,Python,List,Numbers,Set,我定义了一个函数,它接受一个数字列表并返回一个新列表,其中第一个列表的每个元素只出现一次 def unique(a): return set(a) print unique([1,2,3,4,1,5]) 我尝试了打印“,”。join(str(e)表示s中的e),但它不起作用,因为我必须打印一个没有重复数字的新列表。您可以使用: list(set(a)) 这会将列表转换为一个集合,该集合只保留唯一的引用,然后再转换回列表 例如: >>> list(set([1,

我定义了一个函数,它接受一个数字列表并返回一个新列表,其中第一个列表的每个元素只出现一次

def unique(a):
      return set(a)

print unique([1,2,3,4,1,5])
我尝试了打印“,”。join(str(e)表示s中的e),但它不起作用,因为我必须打印一个没有重复数字的新列表。

您可以使用:

list(set(a))
这会将列表转换为一个集合,该集合只保留唯一的引用,然后再转换回列表

例如:

>>> list(set([1, 1, 2, 2, 3, 3]))
[1, 2, 3]

你能解释一下“不起作用”是什么意思吗?我不懂那句话。只是您忘了用
unique(s)
代替那里的
s
?还是别的什么?您能否向我们展示您从尝试的代码中获得的输入、预期输出和实际输出?如果问题只是
set
不是
list
,那很简单:
返回列表(set(a))
。但不知何故,我不认为这是你的问题。事实上,这听起来就像@abarnert建议你只是忘记了使用
set
as
s
,而是使用了原始输入列表。请注意,
unique
方法不维护输入顺序,
set
不是
列表,例如,它不支持索引(
set[0]
)。如果顺序无关紧要,它至少应该返回
列表(set(a))
,但如果需要维护输入顺序,则需要执行不同的操作。