Python列表过滤器

时间:2019-02-18 16:19:36

标签: python

有一个列表

vals=[3.0, 3.03, 3.06, 3.09, 3.12, 3.15, 3.18, 3.21, 3.24, 3.27, 3.3, 3.33, 3.36, 3.39, 3.42, 3.45, 3.48, 3.51, 3.54, 3.57, 4.0, 4.03, 4.06, 4.09, 4.12, 4.15, 4.18, 4.21, 4.24, 4.27, 4.3, 4.33, 4.36, 4.39, 4.42, 4.45, 4.48, 4.51, 4.54, 4.57, 4.6, 5.0, 5.03, 5.06, 5.09, 5.12, 5.15, 5.18, 5.21, 5.24, 5.27, 5.3, 5.33, 5.36, 5.39, 5.42, 5.45, 5.48, 5.51, 5.54, 5.57, 5.6, 6.0, 6.03]

我需要过滤列表,并删除所有等于或等于.6的小数点值

我该如何过滤?任何帮助,将不胜感激 。谢谢!

我已经做到了,但是并没有删除所有仍然存在的值

for i in vals:
        hour, minute = divmod(i, 1)
        print(minute)
        if minute >= .6:
            vals.remove(i)

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作

vals = [number for number in vals if ((number%1) <0.6)]