Мне нужно удалить любые элементы, которые имеют значение None
для определенной клавиши dict в наборе python. С учетом простого набора:удалить элементы из набора, которые проходят определенный тест python
In [7]: z
Out[7]: {None, 1, 2}
In [8]: for item in z:
...: if not item:
...: z.remove(item)
...:
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-8-680a51a37622> in <module>()
----> 1 for item in z:
2 if not item:
3 z.remove(item)
4
RuntimeError: Set changed size during iteration
Не могу понять, почему, но он не позволит мне удалять объекты во время итерации. Как запустить динамическую проверку прав и удалить элементы из наборов? Спасибо
'z = {item for item in z if item is not None}' –
@PeterWood, его тест был для правдивости, а не для нести. Попробуйте: 'z = {item for item in z if item}' –
@ Robᵩ Это удалит '0' из набора. –