使用for循环

时间:2018-02-10 02:29:49

标签: python list for-loop reverse

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)

我使用上面的代码来反转列表,但我想知道为什么范围(len(my_list))是必要的,更具体地说,为什么它不起作用如果我只是将“for i in my_list:”? / p>

7 个答案:

答案 0 :(得分:1)

#use list slicing 
a = [123,122,56,754,56]
print(a[::-1])

答案 1 :(得分:0)

像这样?

new_list=[]

for item in my_list:
    new_list.insert(0, item)
    # or:
    # new_list = [item] + new_list

答案 2 :(得分:0)

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

请解释为什么列表反面打印?

答案 3 :(得分:0)

可以使用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上查看此链接以了解更多详细信息

答案 4 :(得分:0)

def rev_lst(lst1, lst2):

    new_lst = [n for n in range(len(lst1)) if lst1[::-1]==lst2]
    return True

这是正确的解决方案吗?

答案 5 :(得分:0)

最简单的方法是:

list1 = [10, 20, 30, 40, 50]


for i in range(len(list1)-1,-1,-1):

    print(list1[i])

答案 6 :(得分:0)

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]