[英]Reverse list using for loop
my_list=[1,2,3,4,5]
new_list=[]
for i in range(len(my_list)):
new_list.insert(i,my_list[-1])
my_list.pop(-1)
我使用上面的代码来反转一个列表,但我想知道为什么 range(len(my_list)) 是必要的,更具体地说,如果我简单地将“for i in my_list:”放在其中,为什么它不起作用?
可以使用 for 循环反转列表,如下所示:
>>> def reverse_list(nums):
... # Traverse [n-1, -1) , in the opposite direction.
... for i in range(len(nums)-1, -1, -1):
... yield nums[i]
...
>>>
>>> print list(reverse_list([1,2,3,4,5,6,7]))
[7, 6, 5, 4, 3, 2, 1]
>>>
查看Python List Reversal上的此链接以获取更多详细信息
#use list slicing
a = [123,122,56,754,56]
print(a[::-1])
像这样?
new_list=[]
for item in my_list:
new_list.insert(0, item)
# or:
# new_list = [item] + new_list
my_list = [] # empty list
for item in range(5): # range is from 0 - 4
my_list.insert(0,item +1) # insert items to my_list at index-position [0]
print(my_list) # list will be printed in reverse, from 5 - 1
def rev_lst(lst1, lst2):
new_lst = [n for n in range(len(lst1)) if lst1[::-1]==lst2]
return True
这可能是正确的解决方案吗?
最简单的方法是:
list1 = [10, 20, 30, 40, 50]
for i in range(len(list1)-1,-1,-1):
print(list1[i])
lst = [1,2,3,400]
res = []
for i in lst:
# Entering elements using backward index (pos, element)
res.insert(-i, i)
print(res)
# Outputs [400, 3, 2, 1]
l = [10, 20, 30, 40, 50]
t = len(l) # ======>5
for n in range(t-1,-1,-1): # t-1 is 4 , -1 means 0 , decrement by-1
print(l[n])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.