该片段如下:
s = set()
s.add("Banana")
s.add("Apple")
s.add("Pear")
s.add("Strawberry")
我想将该集合排序为列表。所以我使用下面的代码:
l = list(s).sort()
但l
是None
。如果我将该行分成两行,如下所示:
l2 = list(s)
l2.sort()
然后它有效。我的问题是为什么第一个失败了?
答案 0 :(得分:2)
list.sort
就地排序。如果要排序并返回已排序的列表,可以使用sorted(list)
代替。
您可以将代码更改为以下内容。
sorted_list = sorted(s, key=str.lower)