python - 将字典值替换为另一个字典值

标签 python

我有两个字典,First_DictSecond_Dict:

First_Dict = {'Texas': 'Austin', 'California': 'San Diego', 'Florida': 'Miami', 
             'Arizona': 'Phoenix'}

Second_Dict = {'Family1': ['This family went to Arizona.'], 'Family2': ['This 
family went to Texas.'], 'Family3': ['This family went to California.']}

目标:对于 Second_Dict 中提到的每个状态,我需要将该值与 First_Dict 上的键相匹配。如果存在匹配项,请将 Second_Dict 的值替换为 First_Dict 键中的值。

所以输出将如下所示:

Second_Dict = {'Family1': ['This family went to Phoenix.'], 'Family2': 
          ['This family went to Austin.'], 'Family3': ['This family went to 
            San Diego.']}

我被这个问题难住了。非常感谢您的指导!

最佳答案

尝试字典理解:

import re
print({k:[' '.join([First_Dict.get(re.sub('[^a-zA-Z]','',i),i) for i in v[0].split()])+'.'] for k,v in Second_Dict.items()})

输出:

{'Family1': ['This family went to Phoenix.'], 'Family2': ['This family went to Austin.'], 'Family3': ['This family went to San Diego.']}

更新:

Second_Dict = {k:[' '.join([First_Dict.get(re.sub('[^a-zA-Z]','',i),i) for i in v[0].split()])+'.'] for k,v in Second_Dict.items()}

现在 Second_Dict 是字典,

所以:

print(Second_Dict)

是:

{'Family1': ['This family went to Phoenix.'], 'Family2': ['This family went to Austin.'], 'Family3': ['This family went to San Diego.']}

关于python - 将字典值替换为另一个字典值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53183042/

相关文章:

python - 为什么python pandas不提供linux whl文件

python - 如何做总和的平方和的总和?

python - 如何发送具有相同名称的多个输入字段值?

python - 使用另一列内的列名称 reshape 数据框

python - 在 python v3.3 中将 8 位值写入二进制文件

python quart 渲染模板

python - 运行 setuptools 测试时访问包的 `__init__.py` 中定义的名称

Python 以特定顺序生成子列表 - itertools?

python - 如何在服务器处理之前仅进行 "n"API 调用

python - 键入多种类型的提示值?