gpt4 book ai didi

python - 如何从列表映射构建字典

转载 作者:太空狗 更新时间:2023-10-30 02:59:12 24 4
gpt4 key购买 nike

我有以下字典:

extension_to_type_mapping = {
'Metadata': ['xls', 'xml', 'xlsx'],
'Audio': ['ac3', 'aif', 'aiff', 'flac'],
'Video': ['avi', 'm2t', 'm2v', 'm4v', 'mov', 'mp4', 'mpg', 'mpeg', 'mxf'],
'Subtitles/Captions': ['cap', 'cc', 'itt', 'scc', 'srt'],
'Image': ['jpeg', 'jpg', 'png', 'psd', 'tif', 'tiff', 'ts', 'vob', 'wav'],
'Other': [None,]
}

我希望能够反转映射,这样我就可以调用:

MAPPING['jpg'] ==> 'Metadata'

到目前为止我有:

MAPPING = {}
for key, list in extension_to_type_mapping.items():
for i in list:
MAPPING[i] = key

是否有列表理解或更简单的东西(itertools?)来做到这一点?

最佳答案

使用 dict comprehension :

>>> extension_to_type_mapping = {
... 'Metadata': ['xls', 'xml', 'xlsx'],
... 'Audio': ['ac3', 'aif', 'aiff', 'flac'],
... 'Video': ['avi', 'm2t', 'm2v', 'm4v', 'mov', 'mp4', 'mpg', 'mpeg', 'mxf'],
... 'Subtitles/Captions': ['cap', 'cc', 'itt', 'scc', 'srt'],
... 'Image': ['jpeg', 'jpg', 'png', 'psd', 'tif', 'tiff', 'ts', 'vob', 'wav'],
... 'Other': [None,]
... }
>>> MAPPING = {ext: type_ for type_, exts in extension_to_type_mapping.items()
for ext in exts}
>>> MAPPING['jpg']
'Image'

顺便说一句,除了您自己的映射,您还可以使用 mimetypes :

>>> import mimetypes
>>> mimetypes.guess_type('something.jpg')
('image/jpeg', None)

关于python - 如何从列表映射构建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32085643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com