首页 > 解决方案 > 如何从列表中的 int 元素中连续减去值,直到到达列表末尾?

问题描述

因此,我总体上要完成的是将包含多个 int 元素的列表依次移动一个包含未知数量 int 的变量。

示例:列表 = [11,2,107,103,97]

键 = '18'

如果我们减去更新后的列表应该如下所示: updatedList = [10, -6, 106, 95, 96]

在我尝试过的所有 for 循环中,我的错误都包括不可迭代的整数。当我出于某种原因尝试将其作为字符串或列表进行迭代时,只拾取了一个元素。我什至可以通过列表切片指定哪个元素,但它始终是一个。

标签: python-3.x

解决方案


这是你想要的吗:

a = [11,2,107,103,97]
key = '18'
b = [i-int(key[I%len(key)]) for I,i in enumerate(a)]

由于您不知道密钥的长度,我使用了模数 (%) 运算符,它永远不会超过“密钥”的正确索引。


推荐阅读