排序
sorted(words) 会做出一份新列表,words 仍保持原样。words 里先是 soup,然后 bread,然后 rice。新列表按第一个字母排:bread 的 b,然后 rice 的 r,然后 soup 的 s。所以新列表是 bread,然后 rice,然后 soup。
名字 ordered 就是这份新列表。words 仍是 soup,然后 bread,然后 rice。两份的长度都是 3。没有多出一个,也没有少掉一个。变的只是新列表里的顺序。
words = ["soup", "bread", "rice"]
ordered = sorted(words)
print(words)
print(ordered)
第一行是 soup,然后 bread,然后 rice。第二行是 bread,然后 rice,然后 soup。soup 仍是 words 的第一个。bread 只在 ordered 里排最前。
words.sort() 把你已经有的那份列表重新排过。不会另建一份。排完以后,words 自己就是 bread,然后 rice,然后 soup。这一步的结果并不是那份列表。如果写成 result = words.sort(),result 会是 None,排好的值仍留在 words 里。这一行不在下面的程序里。
words = ["soup", "bread", "rice"]
words.sort()
print(words)
屏幕上是 bread,然后 rice,然后 soup。soup 不再排在最前。这仍是你一开始的那份列表,只是位置换了。
counts 一开始是 5,然后 0,然后 2。counts.sort() 按大小来排这些数。0 比 2 小,2 比 5 小,所以列表变成 0,然后 2,然后 5。这个 0 是存着的一个数。它排到前面,是因为它最小,不是因为位置的号码。
counts = [5, 0, 2]
counts.sort()
print(counts)
屏幕上是 0,然后 2,然后 5。长度仍是 3。没有新的数出现,也没有数被丢掉。
下一页是一个固定组合。这一页只把列表里的值排成顺序。它不做出那个组合。
三块屏幕
- 第一个程序第一行写出什么,第二行又写出什么?
- words.sort() 之后,words 是什么?
- 第三个程序写出什么?
- 如果写成 result = words.sort(),result 会是什么?
bread 排在 soup 前面
第一块屏幕留着 soup、bread、rice,然后写出 bread、rice、soup。words.sort() 让 words 自己变成 bread,然后 rice,然后 soup。counts.sort() 写出 0,然后 2,然后 5。result = words.sort() 会让 result 成为 None。下一页是一个固定组合。这一页只给一份列表排序。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部