【发布时间】:2015-03-25 05:45:53
【问题描述】:
我有以下字典
字典 = {'\x85': 1, '\x84': 1, 'C': 3828}
我想要的只是不包含数字的键的键和相应的值,这是我写的,但它不起作用。我遇到了一个关键错误。顺便说一下,我在顶部导入 re。
new_dictionary = {}
for key in diciontary:
if r"\d" not in key:
new_dictionary[key] += dictionary[key]
但是这不起作用,我遇到了一个关键错误。我认为这意味着该密钥不存在,但这正是我想要的,除了带有数字的密钥之外的所有内容。
在这种情况下,我的预期输出是
字典 = {'C': 3828}
虽然我认为我可能会遇到麻烦,因为密钥是一个字符串,即使其中有一个数字,我认为它读取的是一个字符串,所以正则表达式在这里不起作用?
这实际上是一本大字典的一部分,我在这里粘贴的这段代码适用于其他有数字的情况,但是有一些通过了吗?那是因为实际字符被保存为不同的类型吗?无论哪种方式,我都不确定如何删除它们。
【问题讨论】:
-
你的预期输出是什么?
-
'\x85'不包含数字。你很可能会以错误的方式解决这个问题。为什么你的 dict 一开始就有这些键,这些键的什么属性让你希望它们消失? -
我只想要数字,并不意味着我想要这个键值中的 x。如果它包含除字母之外的任何内容,我想排除整个键。我尝试用“\\”来指代它们,但效果不佳?
-
提示:
dictionary = {'\x43': 3828}的预期输出是什么?
标签: python regex dictionary