首页 > 解决方案 > 如何一次从列表中减去 11 并修改 121 相同的列表?

问题描述

这是针对素数理论的。这个理论实际上表现为一个公理因数,如 2^n-1 其中 n=11 或 n=23 或 n=29。当然,当它们是梅森素数时,它不会考虑 n=7 或 n=31。

希望我能在这里得到帮助,我希望一次完成这一切。我在下面有这个列表。我想从整个列表中取-11,然后在下一个实例中,在减法之后立即对列表进行 mod 121,同时保持枚举列表。这可以做到吗?

我收到此错误:

print([x % 121 for x in lst1])
TypeError: not all arguments converted during string formatting

这是列表的一部分和我拥有的代码:

lst1 = [20, '231', 21, '243', 22, '247', 23, '253', 24, '259']
([int(i)-11 if isinstance(i, str) else i for i in lst1])
print([x % 121 for x in lst1])

标签: pythonlistmathsubtractionmodular

解决方案


这是一个解决方案:


lst1 = [20, '231', 21, '243', 22, '247', 23, '253', 24, '259']
print([(int(item)-11)%121 for item in lst1])


推荐阅读