【发布时间】:2017-03-14 18:09:39
【问题描述】:
我有一本像这样的字典:
{...., '5':24, '/':25', 'a':26', ....}
如何删除标点符号和数字以便只保留字典中的字母数字字符?
我可以通过索引键来使用传统的方法来删除这些项目,但是有没有使用正则表达式来删除它们的有效方法?
【问题讨论】:
标签: python regex dictionary
我有一本像这样的字典:
{...., '5':24, '/':25', 'a':26', ....}
如何删除标点符号和数字以便只保留字典中的字母数字字符?
我可以通过索引键来使用传统的方法来删除这些项目,但是有没有使用正则表达式来删除它们的有效方法?
【问题讨论】:
标签: python regex dictionary
带字典d:
d = {key: value for key, value in d.items() if key.isalpha()}
【讨论】:
isalnum,但这确实没有意义。为了检查这样的短字符串,开销是不值得的,它最终会不必要地使问题复杂化。
isalpha 只保留字母
如果你想就地编辑你的字典而不是创建一个新的:
for key in list(d):
if not key.isalpha():
del d[key]
更新
我为 python3 添加了list,因此它将创建字典键的副本,如果您不这样做,您将拥有RuntimeError: dictionary changed size during iteration
【讨论】:
for key in d: