Вы не можете использовать перерыв в вашей логике петли может быть повторно написано с использованием itertools.takewhile если вы хотите получить более сжатое решение
digits = list(str(102))
dummy = list(str(102/2))
from itertools import takewhile
for d in takewhile(dummy.__contains__, digits):
dummy.remove(d)
Вы также можете удалить необходимость для другого использования для цикла путем изменения вашей логики, проверьте, если J не в фиктивной ломки, когда это правда:
for j in digits:
if j not in dummy:
break
dummy.remove(j)
Кроме того, если вы хотите, чтобы удалить все вхождения любого из начальные элементы из цифр, которые находятся в манекене, удалять не будет делать, что для любых повторяющихся элементов, но с использованием списка Компа после создания набора элементов для удаления воли:
digits = str(102)
dummy = list(str(102/2))
st = set(takewhile(dummy.__contains__, digits))
dummy[:] = [d for d in dummy if d not in st]
print(dummy)
Вы можете также перебирать строку, нет необходимо вызвать список на цифры, если вы не планируете выполнять некоторые операции с ним после него.
'break' - это утверждение, и поэтому он не может * использоваться внутри троичного. Сожалею. –
Я не думаю, что вы можете использовать тернарный оператор для этого случая ... – Ian
Чтобы удалить элемент из списка, вам, вероятно, нужно быть осторожным (безопаснее делать обратный путь). проверьте это: http://stackoverflow.com/questions/35618307/how-to-transform-string-into-dict/35618686#35618686 см. также ответ Padraic – Ian