这里是Python新手。我有一本清单字典,就像这样:
d = {
1: ['foo', 'foo(1)', 'bar', 'bar(1)'],
2: ['foobaz', 'foobaz(1)', 'apple', 'apple(1)'],
3: ['oz', 'oz(1)', 'boo', 'boo(1)']
}
我试图找出如何循环遍历字典的键和相应的列表值,并用parantesses尾部删除列表中每个键中的所有字符串。到目前为止,这就是我所拥有的:
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?
我想用列表理解来完成这项工作,但是正如我所说的,我找不到很多关于在dict键和列表的相应dict值之间循环的信息。最有效的方法是什么?
或者,你可以不用重新编译字典,如果字典很大的话,这可能会更好。。。
在列表上迭代时无法编辑该列表,因此可以将列表的副本创建为temp_list,如果在列表中找到括号尾部,则可以从原始列表中删除相应的元素。
您可以重新构建字典,只允许不带括号的元素通过:
相关问题 更多 >
编程相关推荐