对Python数组排序

1 投票
3 回答
703 浏览
提问于 2025-04-16 02:42
opt=[]
opt=["opt3","opt2","opt7","opt6","opt1"]
for i in range(len(opt)):
     print opt[i]

上面的输出结果是

opt3,opt2,opt7,opt6,opt1

如何将上面的数组按从小到大的顺序排序呢?

3 个回答

0

这要看你是否想要自然排序(我觉得你是想要的)还是其他的排序方式。

如果你使用 sorted().sort(),你会得到:

>>> opt = ["opt3", "opt2", "opt7", "opt6", "opt1", "opt10", "opt11"]
>>> print sorted(opt)
['opt1', 'opt10', 'opt11', 'opt2', 'opt3', 'opt6', 'opt7']

但你可能想要的是 ['opt1', 'opt2', 'opt3', 'opt6', 'opt7', 'opt10', 'opt11'] 这样的顺序。

如果是这样的话,你可以了解一下 自然排序(那篇文章里提到的函数有各种不同的变种)。

2

这行代码的意思是把一个叫做“opt”的东西进行排序,然后把排序后的结果打印出来。简单来说,就是把“opt”里的内容按顺序排列好,再显示出来。

8

如果你想要对原来的列表进行排序,可以使用 .sort() 方法。(也就是 opt.sort()

如果你想要一个排序后的副本,可以使用 sorted() 函数。

撰写回答