【发布时间】:2019-02-18 16:19:35
【问题描述】:
我有一个清单
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)
【问题讨论】:
-
不要修改您正在迭代的列表。
-
显示一个您希望列表在处理后的样子的示例。从您的示例列表的外观来看,所有内容都将被删除,因为每个元素都 > 0.6。
-
我不认为它是重复的 - 至少链接的重复不会帮助这里的 OP。
标签: python