Python新手在这里.我有一个列表字典,如下:
d = {
1: ['foo', 'foo(1)', 'bar', 'bar(1)'],
2: ['foobaz', 'foobaz(1)', 'apple', 'apple(1)'],
3: ['oz', 'oz(1)', 'boo', 'boo(1)']
}
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何循环字典的键和相应的列表值,并删除列表中的每个字符串与parantheses尾部.到目前为止,这就是我所拥有的:
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?
Run Code Online (Sandbox Code Playgroud)
我想用列表理解来做这个,但正如我所说,我找不到有关循环通过dict键和列表的相应dict值的更多信息.设置它的最有效方法是什么?
您可以重新构建字典,只允许没有括号的元素:
d = {k:[elem for elem in v if not elem.endswith(')')] for k,v in d.iteritems()}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7754 次 |
| 最近记录: |