Stef Mientki <[EMAIL PROTECTED]> writes: > I want to remove some items from a dictionary, > so I would expect this should work: > > Nets = {} > ... fill the dictionary Nets > > for net in Nets: > if net.upper() in Eagle_Power_Nets : > del Nets [ net ]
Don't change the thing you're currently iterating over. Instead, iterate over a copy: >>> eagle_power_nets = ['eggs', 'beans'] >>> nets = {'spam': 10, 'eggs': 20, 'ham': 30} >>> for name in list(nets.keys()): ... if name in eagle_power_nets: ... del nets[name] ... >>> nets {'ham': 30, 'spam': 10} Style hints (from <URL:http://www.python.org/dev/peps/pep-0008/>): * Don't name an instance with Upper_Case; the convention is for instances to be named as lower_case_with_underscores, and classes to be named in TitleCase. * Don't put spaces inside the bracketing characters '[]', '{}', '()'. * Don't separate the item specifier '[foo]' or the function parameters '(bar)' from the identifier; instead follow it immediately, 'foo_list[foo]', 'bar_func(bar)'. None of these are mandatory, but they'll make your code comply with what Python programmers expect and thus be more easily maintained. -- \ "Are you pondering what I'm pondering?" "Umm, I think so, | `\ Brain, but what if the chicken won't wear the nylons?" -- | _o__) _Pinky and The Brain_ | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list