【问题标题】:Selecting Key,Value pairs from Key values in another dictionary从另一个字典中的键值中选择键值对
【发布时间】:2020-05-26 16:51:10
【问题描述】:

我正在尝试从一个字典 (imgs_dict) 中选择所有键值,这些键值出现在另一个字典 (train_data_labels) 中,并将结果保存到第三个字典 (training_images) 中。两个原始字典之一的键存储为数值(train_data_labels),一个存储为字符串(imgs_dict),所以我首先尝试将train_data_labels的键值转换为字符串并添加前导零以匹配结构imgs_dict,但这会创建一个列表而不是字典。

# Add leading zeros and convert key values to strings to allow referencing the image dictionary
training_ids=[str(k).zfill(5) for k in train_data_label]

在此之后,我试图从 imgs_dict 中提取出现在 training_ids 中的图像 id,这似乎可以工作,但会创建一个列表而不是字典。

# Pull the training images from the total image set and save in a training images dictionary
training_images=[imgs_dict[i] for i in training_ids if i in imgs_dict]

似乎应该有一种直接的方法来保存具有更改键的新字典,然后根据另一个列表或字典从另一个字典中选择您想要的某些字典项,但我找不到它。

【问题讨论】:

    标签: python list dictionary


    【解决方案1】:

    您可以使用字典推导而不是第二个列表组合。

    training_images = {key: imgs_dict[key] for key in training_ids if key in imgs_dict}
    

    【讨论】:

    • 我认为这是第二部分,所以谢谢。仍在尝试了解如何获得第一部分,然后才能对其进行测试。
    • 为什么第一个需要是字典呢?它不只是一个带有转换键的中间列表吗?
    • 这是一个公平的观点,我很容易在这里犯错,因为我对 Python 和图像处理的东西还很陌生,但我试图将它保留为字典,以便以后可以具体说明图像分类到他们的图像 id。也许我需要重新考虑那部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 2012-07-08
    相关资源
    最近更新 更多