给出一个简单整数的映射:
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
答案 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)