2016-09-06 65 views
2

我做codeacedemy蟒蛇当然我不知道为什么片断1级的作品,但片断2不排序初始化器列表

片段1

inventory['pocket'] = ['seashell','strange berry','lint'] 
inventory['pocket'].sort() 

片段2

inventory['pocket'] = ['seashell','strange berry','lint'].sort() 

我会只是期望片段2在将其分配到口袋之前对列表进行分类,而不是将口袋设置为“无”。

+0

'[...]。sort()'returns'None'。如果存储'[...]。sort()'的返回值,则存储'None'。 – khelwood

回答

2

sort方法在原地工作。您调用它的列表已排序,然后sort方法返回None。如果你想要的只是排序列表,请使用内置函数sorted

inventory['pocket'] = sorted(['seashell','strange berry','lint']) 
+0

确定它是这样的东西,让我困惑,a,b = b,a + b。 所以我期待一切权利被计算和解决之前分配到左侧。 所以创建列表,列表排序,列表分配。 – WendyG

+0

@WendyLisaGibbons:在分配给左边的目标之前计算右边的所有内容,但是它会进行“列表创建,列表排序,* sort#调用分配的返回值*”,而不是“列表分配”。 – user2357112