我正在阅读有关数组的内容,我想知道如何从右到左对数组中的元素进行排序。
例如:
n = 10
numbers = []
for i in range(1, n+1):
numbers.append(i)
print(numbers)
如何使用循环和条件等基础工具显示从最后一个到第一个(10,9,8 ...)的组件?
除此之外:
for i in range(-1, (-len(numbers) - 1), -1):
print(numbers[i])
答案 0 :(得分:2)
您没有对数组进行排序。您正在尝试构建具有特定排序的一个。您可以直接使用range
执行此操作。可以使用三个参数range
,start
和stop
调用step
。这允许您构建范围10, 9, ...
:
Python 2:
numbers = range(10, 0, -1)
print numbers
Python 3:
numbers = list(range(10, 0, -1))
print(numbers)
输出
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
答案 1 :(得分:1)
将sorted
与reverse=True
sorted(numbers, reverse=True)
或尝试list.sort
方法
number.sort(reverse=True)
但在你的情况下,你可以使用反向索引
number[: : -1]
答案 2 :(得分:1)
如果您希望反向列表,可以这样做:
In [17]: [4,6,7][::-1]
Out[17]: [7, 6, 4]
答案 3 :(得分:1)
list(reversed([1,2]))
>> [2,1]
答案 4 :(得分:1)
有许多不同的算法来排序没有默认函数的数组。以下是其中一些列表:https://en.wikipedia.org/wiki/Sorting_algorithm。您可以使用排序算法对数组进行排序,然后使用reversed(list)
将其反转。
答案 5 :(得分:1)
您可以使用range
功能,例如
for i in range(n,0,-1):
print(number[i])
如果您想按降序排列列表,则可以使用sort
列表方法。
number.sort(reverse=True)