简单的尝试排序内联返回无,不知道为什么

uho*_*hoh 1 python python-2.7

要生成出现在set a中的值的排序列表,这可以:

a = [1,1,7,3,2,9,2]
b = list(set(a))
b.sort()
print b
Run Code Online (Sandbox Code Playgroud)

但是将两条线放在一起,它返回None:

a = [1,1,7,3,2,9,2]
b = list(set(a)).sort()
print b
Run Code Online (Sandbox Code Playgroud)

尽管这些都是真的:

 type(list(set(a))) is list
 len(list(set(a)))  > 0
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么第二种方法只返回一个排序列表 - 为什么我必须将它们放在不同的行上(如第一种方法)?

chr*_*ris 6

sort() 不返回值,它只是修改您传入的原始对象.