python - 如何遍历包含列表的字典值并删除项目?

标签 python python-2.7

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?

我想通过列表理解来做到这一点,但正如我所说,我找不到太多关于循环遍历字典键和列表的相应字典值的信息。最有效的设置方式是什么?

最佳答案

你可以重新构建字典,只让没有括号的元素通过:

d = {k:[elem for elem in v if not elem.endswith(')')] for k,v in d.iteritems()}

关于python - 如何遍历包含列表的字典值并删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15949396/

相关文章:

java - TCP Socket 通信 Java - Python

python - 获取具有最大置信度的边界框 pandas opencv python

python - 如何使用 matplotlib (mpl3d) 绘制 X = 0 平面?

python - scipy.sparse.coo_matrix 如何快速找到全零列,填充 1 并标准化

python - 使用 python 从 html 中删除/**/

python - 谁调用元类

python - 按列而不是行键控

python - 错误 : Command '[' dot', '-V' ]' 返回非零退出状态 -5 使用 Iris 时

python - 如何使用 Selenium 和 Python 获取内部带有动态部分的选择器?

python - 在 Python 中将自定义格式的稀疏矩阵 X 与目标数组 Y 连接起来