Skip to main content
 首页 » 编程设计

python之如何在 python 中使用 if 语句对扩展列表执行求和

2025年05月04日59mfryf

这就是我想做的:

     if a > 126: 
         a - 94 

'a' 是一个长列表(约 100 个数字),全部为数字。我想选择 126 以上的数字并从中减去 94 但保持它们的顺序相同。有办法做到这一点吗?

请您参考如下方法:

使用列表推导式构建新列表:

a = [v - 94 if v > 126 else v for v in a] 

如果 v > 126 为真,则条件表达式为新值生成 v - 94,否则它包含未更改的原始值。

使用较短的列表以保持可读性的演示:

>>> import random 
>>> a = [random.randint(80, 150) for _ in range(10)] 
>>> a 
[131, 133, 119, 130, 136, 129, 120, 82, 100, 126] 
>>> [v - 94 if v > 126 else v for v in a] 
[37, 39, 119, 36, 42, 35, 120, 82, 100, 126] 

如果您打算过滤掉任何 126 或更低的值,您仍然可以使用列表理解:

[v - 94 for v in a if v > 126] 

这会选择所有超过 126 的值,并生成一个新的列表对象,其中只有这些值减去 94。然后这会生成一个更短的列表:

>>> [v - 94 for v in a if v > 126] 
[37, 39, 36, 42, 35]