编写一个 Python 程序来反转列表项或反转列表元素,并附带实际示例。在此编程语言中,有一个内置的列表方法称为 reverse(),我们可以使用它来获得结果。
此编程语言中的列表反转方法语法如下:
list_name.reverse()
Python 列表 reverse() 方法
此函数反转给定列表的项。下面的代码反转整数列表中的元素。
rList = [10, 190, 120, 180, 120, 105] rList.reverse() print(rList)
[105, 120, 180, 120, 190, 10]
在此示例中,我们声明了一个字符串列表。接下来,我们在其上使用了反转函数。请参阅 列表 和 方法 文章,以了解有关 Python 中所有这些内容的说明。
FruitRevList = ['Orange', 'Banana', 'Kiwi', 'Watermelon', 'Grape', 'Blackberry'] FruitRevList.reverse() print(FruitRevList)
['Blackberry', 'Grape', 'Watermelon', 'Kiwi', 'Banana', 'Orange']
列表 reverse() 函数示例
此示例方法反转列表的项。
Fruits = ['Apple', 'Orange', 'Banana', 'Kiwi', 'Grape', 'Blackberry']
numbers = [9, 4, -5, 0, 22, -1, 2, 14]
print("Original : ", Fruits)
print("Original number : ", numbers)
Fruits.reverse()
print("\nReverse : ", Fruits)
numbers.reverse()
print("New Reverse Number : ", numbers)
Original : ['Apple', 'Orange', 'Banana', 'Kiwi', 'Grape', 'Blackberry']
Original number : [9, 4, -5, 0, 22, -1, 2, 14]
Reverse : ['Blackberry', 'Grape', 'Kiwi', 'Banana', 'Orange', 'Apple']
New Reverse Number : [14, 2, -1, 22, 0, -5, 4, 9]
我将对混合项使用此方法。
MixedRevList = ['apple', 1, 5, 'Kiwi', 'Mango'] MixedRevList.reverse() print(MixedRevList)
['Mango', 'Kiwi', 5, 1, 'apple']
这次,我们将其用于嵌套列表。
MixedRevList = [[171, 222], [32, 13], [14, 15], [99, 76]] MixedRevList.reverse() print(MixedRevList)
[[99, 76], [14, 15], [32, 13], [171, 222]]
如何反转用户输入的整数列表项?
此 程序 与第一个示例相同。但是,我们允许用户输入其长度。接下来,我们使用 For 循环 将数字添加到其中。
intRevList = []
number = int(input("Please enter the Total Number of List Elements: "))
for i in range(1, number + 1):
value = int(input("Please enter the Value of %d Element : " %i))
intRevList.append(value)
print("Before is : ", intRevList)
intRevList.reverse()
print("After is : ", intRevList)

此程序允许用户输入自己的字符串或单词,然后反转它们。
strRevList = []
number = int(input("Please enter the Total Number of Elements: "))
for i in range(1, number + 1):
item = input("Please enter the Value of %d Element : " %i)
strRevList.append(item)
print("Before. : ", strRevList)
strRevList.reverse()
print("After : ", strRevList)
Please enter the Total Number of Elements: 4
Please enter the Value of 1 Element : Apple
Please enter the Value of 2 Element : Kiwi
Please enter the Value of 3 Element : Orange
Please enter the Value of 4 Element : Banana
Before : ['Apple', 'Kiwi', 'Orange', 'Banana']
After : ['Banana', 'Orange', 'Kiwi', 'Apple']
它允许用户输入列表的长度。接下来,我们使用 For 循环和 append 函数将数字添加到列表中。然后,我们使用内置的列表 reverse() 方法来反转列表项。
NumList = []
Number = int(input("Please enter the Total Number of List Elements: "))
for i in range(1, Number + 1):
value = int(input("Please enter the Value of %d Element : " %i))
NumList.append(value)
NumList.reverse()
print("\nThe Result of a Reverse List = ", NumList)

提示:函数 用于反转列表中的元素。
使用 reversed 函数
默认情况下,reversed() 函数返回迭代器对象,因此我们必须将其转换回列表。
nums = [11, 25, 90, 70, 50, 60] rev = list(reversed(nums)) print(rev)
[60, 50, 70, 90, 25, 11]
使用 map 和 lambda 函数反转列表
numLst = [10, 20, 30, 40, 50, 60] revLst = list(map(lambda x: numLst[-x], range(1, len(numLst) + 1))) print(revLst)
[60, 50, 40, 30, 20, 10]
使用切片技术
这是反转列表元素的最佳方法之一。
nums = [10, 20, 30, 40, 50, 60] rev = nums[::-1] print(rev)
[60, 50, 40, 30, 20, 10]
Python 程序使用 for 循环反转列表项
我们可以称之为上述切片技术的扩展。此示例代码使用 for 循环和 range 函数从后向前迭代列表元素,并将它们添加到新列表中。
nums = [10, 20, 90, 40, 50, 60]
rev = []
for i in range(len(nums) - 1, -1, -1):
rev.append(nums[i])
print(rev)
[60, 50, 40, 90, 20, 10]
我们也可以使用 for 循环和 list insert() 函数来反转元素。
nums = [10, 20, 30, 40, 50, 60]
rev = []
for i in nums:
rev.insert(0, i)
print(rev)
[60, 50, 40, 30, 20, 10]
使用 while 循环反转列表项
在此 Python 程序 中,我们使用了 While 循环。在 while 循环中,我们借助第三个变量进行了交换。我建议您参考 交换两个数字 文章来理解 Python 的逻辑。
NumList = []
Number = int(input("Please enter the Total Numbers : "))
for i in range(1, Number + 1):
value = int(input("%d Element : " %i))
NumList.append(value)
j = Number - 1
i = 0
while(i < j):
temp = NumList[i]
NumList[i] = NumList[j]
NumList[j] = temp
i = i + 1
j = j - 1
print("\nThe Result = ", NumList)
Please enter the Total Numbers : 3
1 Element : 1
2 Element : 2
3 Element : 3
The Result = [3, 2, 1]
此示例也使用了 while 循环,但这次我们使用了 list pop() 方法来反转项。pop() 函数返回最后一个值,append() 方法将该数字添加到新列表中。
nums = [10, 20, 30, 40, 50, 60]
rev = []
while nums:
rev.append(nums.pop())
print(rev)
[60, 50, 40, 30, 20, 10]
使用函数反转列表元素
这个 列表 项程序与上面相同。但是,我们使用 函数 分离了逻辑。
def reverseList(NumList, num):
j = Number - 1
i = 0
while(i < j):
temp = NumList[i]
NumList[i] = NumList[j]
NumList[j] = temp
i = i + 1
j = j - 1
NumList = []
Number = int(input("Please enter the Total Number of Elements: "))
for i in range(1, Number + 1):
value = int(input("%d Element : " %i))
NumList.append(value)
reverseList(NumList, Number)
print("\nThe Result = ", NumList)
Please enter the Total Number of Elements: 5
1 Element : 10
2 Element : 20
3 Element : 30
4 Element : 40
5 Element : 50
The Result = [50, 40, 30, 20, 10]
Python 程序使用递归反转列表元素
此程序通过递归调用函数来反转列表项。
def reverseList(NumList, i, j):
if(i < j):
temp = NumList[i]
NumList[i] = NumList[j]
NumList[j] = temp
reverse_list(NumList, i + 1, j-1)
NumList = []
Number = int(input("Please enter the Total Number of Elements: "))
for i in range(1, Number + 1):
value = int(input("%d Element : " %i))
NumList.append(value)
reverseList(NumList, 0, Number - 1)
print("\nThe Result = ", NumList)
Please enter the Total Number of Elements: 6
1 Element : 12
2 Element : 13
3 Element : 14
4 Element : 15
5 Element : 16
6 Element : 27
The Result = [27, 16, 15, 14, 13, 12]
下面显示了使用递归反转列表项的更好方法。
def reverseList(n):
if len(n) == 0:
return []
else:
return [n[-1]] + reverseList(n[:-1])
nums = [25, 77, 90, 80, 150, 60, 180]
rev = reverseList(nums)
print(rev)
[180, 60, 150, 80, 90, 77, 25]