Python:如何使用一系列值重新处理列表中的每个项目?

时间:2017-08-29 05:47:04

标签: python

我有以下列表:

my_list = [22, 37, 48]

我需要用列表中的所有值替换列表中的每个项x。 这是我在没有成功的情况下尝试过的:

threshold = 2
new_list = [y for y in range(x-threshold, x+threshold+1) for x in my_list]

因为我收到以下错误:

Unresolved reference 'x'

但无法弄清楚错误。

2 个答案:

答案 0 :(得分:0)

您不是将每个元素(x)都设为数组。它现在的方式,它被解释为嵌套for循环的扁平化版本。你需要的是:

new_list = [[y for y in range(x-threshold, x+threshold+1)] for x in my_list]

答案 1 :(得分:0)

如果你为你的例子发布了所需的输出,那将会很有帮助。在这个答案中,我假设你想要结果[20,21,22,23,24,35,36,37,38,39,46,47,48,49,50]:

hostname