想要从列表中的数字到另一个数字(在这种情况下为6到9)的值范围之外的列表之和的Python列表

问题描述 投票:0回答:2

假设在python列表中:

l1 = [2,5,21,6,8,5,9,8,12]

在这里,我希望排除69的值,即2+5+21+8+12的列表总和,省略69的值,即6,8,5,9的值。

在列表中,数字6位于索引3,数字9位于索引6,所以我希望排除这些值

python
2个回答
1
投票
sum(l1) - sum(l1[l1.index(6):l1.index(9) + 1])

请注意,如果您的列表中有两个或多个出现6或9的事件,这将排除FIRST出现之间的范围


-1
投票

您可以将生成器表达式与sum一起使用:

l1 = [2, 5, 21, 6, 8, 5, 9, 8, 12]

res = sum(i for i in l1 if not 6 <= i <= 9)

print(res)

输出:

45
© www.soinside.com 2019 - 2024. All rights reserved.