2013-11-28 2 views
0

Я пытаюсь разделить число в списке на некоторые числа в том же списке.Как разделить int частью списка

Это мой код:

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), а затем переместиться на следующий номер в списке «числа».

Это возвращает ошибку типа: неподдерживаемый тип операнда.

Как я могу обойти это?

Спасибо,

Бен

+0

Что такое 'numbers' и' prime_list'? – Christian

+0

Это список номеров. – Ben

+2

Вам нужно пройти через срез списка, который содержит числа '[0: half_list_position]' и разделить _each из них_ на 'i'. Кроме того, '[0: half_list_position]' совпадает с '[: half_list_position]' –

ответ

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) 
+0

Я пытаюсь получить доступ к ряду чисел, то есть чисел [0: half_list_position]. Я допустил ошибку и изменил свой вопрос, чтобы отобразить числа [0: half_list_position], чтобы получить фрагмент. – Ben

+0

@fluffybonkers, обновлено – perreal

+0

Это условие может быть написано лучше как 'if any (i% n == 0 для n в числах [: half_list_position]):' – lvc

Смежные вопросы