【发布时间】:2019-07-19 21:32:14
【问题描述】:
我有一个整数列表a,我想遍历它的每个元素,如果该元素比列表中的下一个元素(即将到来的索引邻居)更小或大小相同,我想要将元素转换为字符串并将“000”连接到它上面。但如果它比下一个元素大,我想将“111”连接到它上面。
我使用 Python 3.7.3。
这是我已经尝试过的:
a = [41433, 23947, 10128, 89128, 29523, 47106]
for I in a:
if a[I] <= a[I+1]:
a[I] = str(a[I] + "000")
else:
a[I] = str(a[I] + "111")
我实际上尝试了很多,但没有任何效果。 当我运行代码时,总是得到“IndexError: list index out of range”。
我是Python新手,有人知道解决方案吗?
【问题讨论】:
-
根据您的描述,除最后一个元素外,所有元素都转换为字符串。正确的?所以,
for i in range(len(a)-1): a[i] = str(a[i]) + ('000' if a[i] <= a[i+1] else '111') -
那么您的预期输出是什么,列表中最后一项无法与其后一项进行比较的处理方式是什么?
-
你的预期输出是什么?
标签: python python-3.x