Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python删除字典中的非字母数字字符_Python_Regex_Dictionary - Fatal编程技术网

如何使用python删除字典中的非字母数字字符

如何使用python删除字典中的非字母数字字符,python,regex,dictionary,Python,Regex,Dictionary,我有一本字典,像: {,'5':24'/':25','a':26',} 如何删除标点符号和数字以便只保留字典中的字母数字字符 我可以用传统的方法通过索引键来删除这些项,但是有没有一种有效的方法通过使用正则表达式来删除它们?使用dictionaryd: d = {key: value for key, value in d.items() if key.isalpha()} 使用字典d: d = {key: value for key, value in d.items() if key.isa

我有一本字典,像:

{,'5':24'/':25','a':26',}

如何删除标点符号和数字以便只保留字典中的字母数字字符


我可以用传统的方法通过索引键来删除这些项,但是有没有一种有效的方法通过使用正则表达式来删除它们?

使用dictionary
d

d = {key: value for key, value in d.items() if key.isalpha()}

使用字典
d

d = {key: value for key, value in d.items() if key.isalpha()}

如果您想就地编辑dict而不是创建新dict:

for key in list(d):
    if not key.isalpha():
        del d[key]
更新


我为python3添加了
列表
,因此它将创建dict键的副本,如果您不这样做,您将在迭代过程中更改
运行时错误:字典大小

,如果您想在位编辑dict而不创建新的dict:

for key in list(d):
    if not key.isalpha():
        del d[key]
更新


我为python3添加了
列表
,因此它将创建dict密钥的副本,如果您不这样做,您将有
运行时错误:迭代期间字典更改大小

如果您没有使用该值,您最好对d中的键执行
我有此错误:运行时错误:迭代期间字典更改大小iteration@PatrickHaugh正确的,进行了一个小的更新,因此如果您没有使用您最好为d中的键执行的值,代码将在python3上工作:我有一个错误:RuntimeError:在iteration@PatrickHaugh对,做了一个小的更新,这样代码就可以在python3Also上运行了,这些数字仍然包含在字典中。你可以使用regexp而不是isalnum,但这没有什么意义。对于像这样的短字符串的检查,开销是不值得的,它最终会不必要地使问题复杂化。@YanLong“字母数字”中的“数字”表示数字。使用
isalpha
仅保留字母。因此,数字仍包含在字典中。您可以使用regexp而不是
isalnum
,但这没有意义。对于像这样的短字符串的检查,开销是不值得的,它最终会不必要地使问题复杂化。@YanLong“字母数字”中的“数字”表示数字。使用
isalpha
仅保留字母