Python 从字典中删除引号

Python 从字典中删除引号,python,nltk,Python,Nltk,我有一本bigrams字典,通过导入csv并将其转换为字典获得: bigram_dict = {"('key1', 'key2')": 'meaning', "('key22', 'key13')": 'mean2'} 我希望keys的字典没有引号,即: desired_bigram_dict={('key1', 'key2'): 'meaning', ('key22', 'key13'): 'mean2'} 您能建议我如何执行此操作吗?您可以按每个键重新分配: from ast impor

我有一本bigrams字典,通过导入csv并将其转换为字典获得:

bigram_dict = {"('key1', 'key2')": 'meaning', "('key22', 'key13')": 'mean2'}
我希望keys的字典没有引号,即:

desired_bigram_dict={('key1', 'key2'): 'meaning', ('key22', 'key13'): 'mean2'}
您能建议我如何执行此操作吗?

您可以按每个键重新分配:

from ast import literal_eval

bigram_dict = {"('key1', 'key2')": 'meaning', "('key22', 'key13')": 'mean2'}


for k,v in bigram_dict.items():
    bigram_dict[literal_eval(k)] = v
或者,要创建一个新的dict,只需使用与dict理解相同的逻辑:

两者都将为您提供:

{('key1', 'key2'): 'meaning', ('key22', 'key13'): 'mean2'}

这可以使用字典理解来完成,在字典理解中,您可以调用以下键:

from ast import literal_eval
bigram_dict = {"('key1', 'key2')": 'meaning', "('key22', 'key13')": 'mean2'}

res = {literal_eval(k): v for k,v in bigram_dict.items()}
结果:

{('key22', 'key13'): 'mean2', ('key1', 'key2'): 'meaning'}

您需要将字符串解析为元组。相关帖子
{('key22', 'key13'): 'mean2', ('key1', 'key2'): 'meaning'}