【发布时间】:2013-08-02 21:40:42
【问题描述】:
我有一个集合,我想将其放入排序列表中。我跑:
sorted_list=list(my_set).sort()
但这会返回none,即使list(my_set) 和my_set 都是非空的。另一方面:
sorted_list=list(my_set)
sorted_list.sort()
工作得很好。
为什么会这样? python不允许对构造函数直接返回的对象调用方法吗?
【问题讨论】:
-
a = my_list.append(b)不像人们想象的那样工作的原因相同。 -
您可以在创建列表后立即对其进行排序。您的代码已经做到了这一点。只是
sorted_list是对sort返回的值的引用,即None,所以你最终不会得到任何对实际排序列表的引用。但它仍然存在(或者确实存在,在 GC 清理它之前你没有保留对它的引用)。
标签: python list python-3.x