a = [3.2,1,3,1,4,1,3423]
s = sorted(set([aa for aa in a]))
print(type(s))
output - class 'list'
有人可以解释一下!为什么它会显示' list'而不是设置' 。在没有排序方法的情况下运行程序后,它会显示出类'设置。
答案 0 :(得分:0)
sorted(..)
是构建列表的函数。它没有考虑“源”的类型,它将迭代作为输入并使用该输入构造列表。或者documented:
从iterable中的项目返回新排序列表。
由于sorted(..)
是由Python本身实现的,并且没有利用类本身的某些协议,因此甚至不可能构造为每种集合类型排序的集合类型。
此外,Python中的 set
是未经编辑的:如果使用元素构造集合,则无法保证该顺序与插入顺序相同,也不能保证更新集合时,顺序将相同。