提问者:小点点

set()函数不使整数唯一[closed]


为什么? set()函数不删除T列表中的重复项。 这两个变量的编写方式类似,唯一的区别是列表。

t= [1,1,1,2,2,23,4,4,4,5,6,6,7]
list(set(t))
print(t)
s = [1, 2, 3, 1, 2, 5, 6, 7, 8]
list(set(s))
print(s)

产出

[1, 1, 1, 2, 2, 23, 4, 4, 4, 5, 6, 6, 7]
[1, 2, 3, 1, 2, 5, 6, 7, 8]


共3个答案

匿名用户

调用set()list()不会覆盖传递到括号中的内容。 如果运行print(list(set(t))),您将看到您的结果。 要覆盖原始列表,请执行以下操作:

t = list(set(t))

匿名用户

s保持不变。 您需要更新S,这意味着您必须将值赋回S,如下所示:

s = list(set(s))

有一些方法会改变对象本身。 我认为您是在想,当您做set(s)时,它应该修改s,实际情况并非如此。

如果您看到set()的返回类型,则它是一个set,因此,您必须自己将该值赋回。

匿名用户

必须将计算保存到一个新变量中:

t = [1, 1, 1, 2, 2, 23, 4, 4, 4, 5, 6, 6, 7]
new_t = list(set(t))
print(t)
print(new_t)

给予:

[1, 1, 1, 2, 2, 23, 4, 4, 4, 5, 6, 6, 7]
[1, 2, 4, 5, 6, 7, 23]