如何将int除以列表的一部分

时间:2013-11-28 04:29:55

标签: python list

我试图将列表中的数字除以同一列表中的一些数字。

这是我的代码:

for i in numbers:

    list_position = numbers.index(i)
    half_list_position = int(list_position//2 + 1)

    if i % numbers[0:half_list_position] in numbers == 0:

        prime_list.remove(i)

正如你所看到的,我想把'i'除以它前面的数字的一半除以零,我试图通过使用列表索引来做到这一点。如果在任何点'i'除以列表中的一个数字返回余数为零,我想从另一个列表(prime_list)中删除相同的数字'i',然后移动到列表'numbers'中的下一个数字。

这会返回一个类型错误:不支持的操作数类型。

我怎样才能解决这个问题?

谢谢,

1 个答案:

答案 0 :(得分:2)

列表切片是一个列表,数字和列表之间不支持模数([0 : half_list_position]甚至不是切片):

 i % [0:half_list_position]

您可以这样做:

if sum(1 for n in numbers[:half_list_position] if i % n == 0) > 0:    
        prime_list.remove(i)