You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从指定字典中提取各城市对应的标签(Key)及对应分数?

解决方案:转换城市-标签分数映射字典

这里有个实用的Python实现方案,能帮你把给定的嵌套字典转换成以城市为键、对应所有标签及分数的结构:

代码实现

# 原始输入字典
dictionary = {
    u'adrenaline': {
        u'estimated_total': 234,
        u'more': True,
        u'results': [
            {u'adrenaline_score': 2.11474252688113, u'name': u'Rome'},
            {u'adrenaline_score': 1.94859310493828, u'name': u'Budapest'},
            {u'adrenaline_score': 2.65914794847249, u'name': u'Ubud'},
            {u'adrenaline_score': 1.94859310493828, u'name': u'Calgary'},
            {u'adrenaline_score': 3.0, u'name': u'Cancún'}
        ]
    },
    u'air': {
        u'estimated_total': 234,
        u'more': True,
        u'results': [
            {u'air_score': 1.50402325242855, u'name': u'Paris'},
            {u'air_score': 1.50402325242855, u'name': u'Rome'},
            {u'air_score': 1.50402325242855, u'name': u'New York City'},
            {u'air_score': 1.50402325242855, u'name': u'Abu Dhabi'},
            {u'air_score': 1.50402325242855, u'name': u'Key West'},
            {u'air_score': 1.50402325242855, u'name': u'Salt Lake City'}
        ]
    }
}

# 初始化结果字典
city_scores = {}

# 遍历每个标签类别
for category, category_data in dictionary.items():
    # 处理该类别下的所有城市结果
    for city_result in category_data['results']:
        city_name = city_result['name']
        # 提取分数对应的键(比如'adrenaline_score')
        score_key = next(key for key in city_result if key.endswith('_score'))
        score_value = city_result[score_key]
        
        # 如果城市还没在结果字典里,先创建空字典
        if city_name not in city_scores:
            city_scores[city_name] = {}
        # 添加当前标签和分数
        city_scores[city_name][category] = score_value

# 输出最终结果
print(city_scores)

代码说明

  • 我们先初始化一个空的city_scores字典,用来存放最终的城市-标签分数映射。
  • 外层循环遍历原始字典中的每个标签类别(比如adrenaline、air),拿到对应的数据集合。
  • 内层循环处理每个类别下的城市结果,提取城市名和对应的分数:通过endswith('_score')匹配分数键,确保即使后续新增其他标签类别,代码也能兼容。
  • 检查城市是否已存在于结果字典中,不存在则创建空字典,再将当前标签和分数添加进去。

运行结果

执行代码后会得到你期望的格式:

{
    'Rome': {'adrenaline': 2.11474252688113, 'air': 1.50402325242855},
    'Budapest': {'adrenaline': 1.94859310493828},
    'Ubud': {'adrenaline': 2.65914794847249},
    'Calgary': {'adrenaline': 1.94859310493828},
    'Cancún': {'adrenaline': 3.0},
    'Paris': {'air': 1.50402325242855},
    'New York City': {'air': 1.50402325242855},
    'Abu Dhabi': {'air': 1.50402325242855},
    'Key West': {'air': 1.50402325242855},
    'Salt Lake City': {'air': 1.50402325242855}
}

内容的提问来源于stack exchange,提问作者Ajay Shewale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:44:17