我是 python 的新手,所以希望这是一个简单的问题。我有一个包含一堆数字的列表,如果该数字高于某个其他数字,我想从中减去一个。例如,我有以下列表,其中缺少 4 个:
a = [1, 2, 3, 5, 6, 7, 8, 9]
我该怎么做才能将每个大于 4 的数字减一?我试过一个 for 循环:
for x in a:
if x > 4:
x-=1
print(a)
但这不会改变列表中的任何内容。 我也尝试过列表理解,但我是新手,所以我无法让它工作并出现错误:
a = [[x - 1 if x > 4] for x in a]
a = [[x - 1 for x in a] if x > 4]
我该怎么做才能将 4 以上的每个数字减一并使该列表从一数到八?
最佳答案
你可以试试这个。
a = [1, 2, 3, 5, 6, 7, 8, 9]
[i-1 if i>4 else i for i in a]
# [1, 2, 3, 4, 5, 6, 7, 8]
关于python - 有没有办法从python中另一个数字上方的列表中的每个数字中减去一个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60553205/