这是我最近关于在列表中搜索字典项目的查询的补充问题:
Check if python dictionary contains value and if so return related value
我有一个包含格式字典的数组:
fileList = [
{"fileName": "file1.txt", "fileMod": "0000048723"},
{"fileName": "file2.txt", "fileMod": "0000098573"}
]
我能够返回 fileList 中现有项目的 fileMod 值列表,使用 建议的相当简洁的列表理解:
fileMod = [item['fileMod'] for item in fileList if item['fileName'] == filename]
如果有匹配的文件名,这将返回一个值,但我忘了包括我还需要知道什么时候有一个文件名与文件列表中的任何条目都不匹配。
我相信这应该很简单,但我想我已经看得太久了,只见树木不见森林。
请您参考如下方法:
也许您应该使用字典而不是列表?
files = {
'file1.txt': {'fileMod': '0000048723'},
'file2.txt': {'fileMod': '0000048723'}
}
这存储与您的列表相同的信息,但查找元素很容易:
mod = None
if 'file1.txt' in files:
mod = files['file1.txt']['fileMod']
