【发布时间】:2018-11-05 02:27:10
【问题描述】:
我有一个 Python 列表。
x = [230, 235, 300, 480, 480, 506, 515, 516]
我想打印一个包含数组 x 中元素的列表,其差异超过一个值(假设为 10)。因此,新列表将仅包含与下一个元素相差超过 10 的元素。输出列表应包含与给定列表中的相邻元素相差超过 10 个的元素。 输出应该是 [230, 300, 480, 516] 的列表
我想创建一个函数来实现这一点。
b = [0] + x
t = []
for i in range(len(b)-1):
if(b[i+1]-b[i]>10):
t.append(b[i])
print(t)
我试过这个。但我没有得到正确的输出。
【问题讨论】:
-
你可以试试
[k for k,v in zip(x, x[1:]) if v-k > 10] -
你能把你的输出粘贴到这里吗?
-
输出 [0, 235, 300, 480]
-
这个问题有点不清楚。如果您有一个列表,您希望输出是什么: [1, 2, 3, 4, 5, 15] (假设您有 10 的差异)?您希望输出为 [1, 15] 还是 [1, 3, 5, 15]?
-
没有。只有当它们的差异超过 10 时,我才需要元素。在您给定的示例中,我需要 [1, 15] 作为输出。
标签: python arrays python-3.x list