Python新手在这里。我有一个列表的字典,像这样:如何迭代包含列表和删除项目的字典值?
d = {
1: ['foo', 'foo(1)', 'bar', 'bar(1)'],
2: ['foobaz', 'foobaz(1)', 'apple', 'apple(1)'],
3: ['oz', 'oz(1)', 'boo', 'boo(1)']
}
我试图通过字典的键和相应的列表值弄清楚如何循环,并用括号尾删除所有的字符串中的每个列表。到目前为止,这是我:
for key in keys:
for word in d[key]...: # what else needs to go here?
regex = re.compile('\w+\([0-9]\)')
re.sub(regex, '', word) # Should this be a ".pop()" from list instead?
我想用一个列表理解来做到这一点,但正如我所说的,我无法找到通过字典键循环和相应的列表字典值多的信息。什么是最有效的设置方法?
你会碰到这个问题不是特有的碰巧是列表字典值。您应该通过搜索诸如“在迭代时修改列表”等方式获得有用的信息。然而,eumiro关于用修改来创建一个新字典的回答,而不是现场修改现有值的最终结果 - 运行这些问题。 – lvc 2013-04-11 13:07:23
你的名单的项目,他们是字符串?或者一些对象? – Eric 2013-04-11 14:16:14
@Eric他们是字符串。感谢您指出 - 编辑的例子。 – 2013-04-11 15:35:57