让用户输入几个数字,然后把用户输入的数字掉个顺序打印(也就是反序)?
使用内置reversed()函数或者使用a[-1::-1]都可以。
代码演示:
a_list = list(int(i) for i in input('请输入一组数字,用逗号隔开: ').split(','))
a_list.reverse()
print(a_list)
结果演示:
请输入一组数字,用逗号隔开: 9,88,46,30,4,9
[9, 4, 30, 46, 88, 9]
关于列表元素反向:
list.reverse()是对原列表操作
>>> list1 = [1, 3, 5, 7, 9]
>>> list1.reverse()
>>> list1
[9, 7, 5, 3, 1]
list[::-1]是生成一个新列表
>>> list1 = [1, 3, 5, 7, 9]
>>> list2 = list1[::-1]
>>> list2
[9, 7, 5, 3, 1]
reversed(list)是生成一个新生成器,如果要变成列表,再用list()
>>> list1 = [1, 3, 5, 7, 9]
>>> list2 = reversed(list1)
>>> list2
<list_reverseiterator object at 0x0408AFF0>
>>> list2 = list(reversed(list1))
>>> list2
[9, 7, 5, 3, 1]
用for循环生成新列表也很简单。
>>> list1 = [1, 3, 5, 7, 9]
>>> list2 = []
>>> for i in list1:
list2.insert(0, i)
>>> list2
[9, 7, 5, 3, 1]
#来源:https://fishc.com.cn/forum.php?mod=viewthread&tid=85182&ctid=588