以相反的顺序打印映射的项目

时间:2018-06-26 15:05:38

标签: python

给出一个简单整数的映射:

this_map = map(int, input().split())
2 4 1 3 5

如何以相反的顺序打印this_map?我可以通过一个简单的for循环打印每个项目,但是以相反的格式打印内容需要索引,而通过标准过程是不可能的。

for item in this_map[::-1]:
    print(item)

TypeError: 'map' object is not subscriptable

存在使用enumerate()的{​​{3}},但是如何在此处使用它来添加索引?

注意:我正在使用Python 3.6

4 个答案:

答案 0 :(得分:2)

只需使用reversed

this_map = map(int, reversed("2 4 1 3 5".split()))
for item in this_map:
    print(item)

答案 1 :(得分:2)

您的示例无效,因为map()在Python 2和Python 3中的行为不同。在Python 2中,它返回一个列表,但是在Python 3中,它返回一个特殊的map对象。

您可以通过在其上调用list()将其转换为列表:

this_map = list(this_map)

答案 2 :(得分:0)

您尝试过吗:

for i in reversed(this_map):
    print(i)

答案 3 :(得分:0)

只需先将map转换为list

this_map = list(map(int, input().split()))
for item in this_map[::-1]:
    print(item)