通过交换第一个和最后一个元素、第二个和倒数第二个元素等来反转列表

Invert the list by exchanging the first and last element, the second and second last, and so on

所以基本上任务是通过将第一个元素更改为最后一个元素,将第二个元素更改为倒数第二个元素等来反转列表... 这是我尝试过的,但最后什么也没发生。你有什么想法在这里不起作用或者我应该尝试什么不同的方法吗?

list=[3,6,9,12,15,18,21,24,27,30]
y = 0
x = len(list)-1
while y <= x:
    for i in list:
        list[y],list[x]=list[x],list[y]
        y+=1
        x-=1
for i in list:
    print(i)

您可以进行如下操作:

l=[3,6,9,12,15,18,21,24,27,30]
new_l=l[::-1]

以下将反转列表的顺序:

>>> l = [3,6,9,12,15,18,21,24,27,30]

>>> l[::-1]
Out[11]: [30, 27, 24, 21, 18, 15, 12, 9, 6, 3]

您可以使用reverse()函数:

l = [3,6,9,12,15,18,21,24,27,30]
l.reverse()

您可以使用此代码:

for i in sorted(list,reverse=True):
print(i)

你可以这样做:

def reverse(lst):
    # Iterate over the half of the indexes
    for i in range(len(lst) // 2):
        # Swap the i-th value with the i-th to last value
        lst[i], lst[len(lst)-1-i] = lst[len(lst)-1-i], lst[i]
        
lst = [1, 2, 3, 4, 5]
reverse(lst)
print(lst)    # Outputs [5, 4, 3, 2, 1]


lst = [1, 2, 3, 4]
reverse(lst)
print(lst)    # Outputs [4, 3, 2, 1]

所有其他解决方案都是很好的方法,但是如果您特别 要求编写通过将第一个元素更改为最后一个元素等来反转列表的逻辑等等..这里,

y = 0
x = len(list)-1
while y < x:
    list[y],list[x]=list[x],list[y]
    y+=1
    x-=1
for i in list:
    print(i)