rencent 发表于 2020-2-5 12:32:04

我的sort哪里出了问题吗?抱拳谢谢!

>>> list2 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
>>> list4 = list2.sort()
>>> list4
>>> list2
['1.耐克', '2.李宁', '3.鱼C工作室', '4.阿迪达斯']

为什么list4是空的?

zltzlt 发表于 2020-2-5 12:34:51

直接 list2.sort()。

>>> list2 =
>>> list2.sort()
>>> list2

wp231957 发表于 2020-2-5 13:06:58

查一下列表的排序方法有没有返回值

一个账号 发表于 2020-2-5 13:52:59

list.sort 没有返回值:

>>> a =
>>> print(a.sort())
None
>>> a

yuchen99 发表于 2020-2-5 18:13:52

本帖最后由 yuchen99 于 2020-2-5 20:16 编辑

我又回去看了一遍视频,
list1.sort(),是对list1进行排序,然后打印list1,
没有说可以有list2=list1.sort()这种操作

rencent 发表于 2020-2-5 19:42:02

一个账号 发表于 2020-2-5 13:52
list.sort 没有返回值:

sort不是排序用吗?不是把原列表排排顺序吗?

一个账号 发表于 2020-2-5 20:25:13

rencent 发表于 2020-2-5 19:42
sort不是排序用吗?不是把原列表排排顺序吗?

sort 直接排序,然后保存在列表里,没有返回值。

一个账号 发表于 2020-2-5 20:26:00

rencent 发表于 2020-2-5 19:42
sort不是排序用吗?不是把原列表排排顺序吗?

如果想要有返回值,就用 sorted(),例如:

sorted()

刘坤 发表于 2020-2-5 22:29:56

可以在idle输入“help(list)”,最后一行有sort的用法:sort(...) |      L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*,其中“->”指的是方法返回的值,None就是没有返回值;同理可以参考copy(...)|      L.copy() -> list -- a shallow copy of L,说明copy会返回一个列表

rencent 发表于 2020-2-6 11:45:18

谢谢大家~~{:5_101:}
页: [1]
查看完整版本: 我的sort哪里出了问题吗?抱拳谢谢!