首页 > 解决方案 > 如何在 Python 中从指定的数字开始对数字列表进行数字排序?

问题描述

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

我想从数字开始:4

那么如何对列表进行排序,如:

sorted_my_list = [4, 5, 6, 7, 8, 9, 10, 1, 2, 3]

标签: pythonlistsorting

解决方案


您可能可以使用index()列表中的功能来查找所需位置/编号的位置。但我不知道副作用。

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
starter = 4

result = my_list[my_list.index(starter):] + my_list[:my_list.index(starter)]

这是你喜欢的东西吗?

如果您需要对这两个部分进行排序,请添加sorted()到它们中,尽管我不明白这一点。

result = sorted(my_list[my_list.index(starter):]) + sorted(my_list[:my_list.index(starter)])

我认为最后的编辑。如果您需要先对列表进行排序,然后再对其进行拆分,则4必须事先对整个列表/数据进行排序,以使列表中的拆分正确。my_list = [1, 2, 4, 3, 5, 6, 7]否则,如果数字在拆分之前未排序(例如),您最终会得到不正确的订单

my_list = sorted([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
starter = 4

result = my_list[my_list.index(starter):] + my_list[:my_list.index(starter)]

推荐阅读