【发布时间】:2016-05-30 23:09:09
【问题描述】:
给定一个递增数字的排序列表,我正在尝试创建一个新列表,该列表仅保留比前一个数字至少大 3 的值。我尝试了一些条件语句,但未能获得正确的格式。例如,来自
a = [3,4,8,12,14,16]
我们会得到
new_a = [3,8,12,16]
只有 14 会退出,因为它距离 12 小于 3,但保留 16,因为它大于 12 的 3。4 也会退出。任何帮助将不胜感激!
【问题讨论】:
-
如果列表确实已排序,您可以将之前的值存储为临时变量并对其进行检查,直到它变大 3。
-
你能显示你试过的代码吗?
-
[2,4,6,8,10,12]的结果应该是什么? -
这将给出 [2, 6, 10]
-
为什么不
[4,8,12,16]和[4,8,12]?规则是什么:您想获得尽可能长的列表,还是贪婪地淘汰下一个太近的列表?