我想知道:是否可以使用不完整的键访问 dict 值(只要给定字符串的条目不超过一个)?例如:
my_dict = {'name': 'Klauss', 'age': 26, 'Date of birth': '15th july'}
print my_dict['Date']
>> '15th july'
这可能吗?怎么可能?
最佳答案
您不能直接使用 dict[keyword]
执行此操作,您必须遍历 dict 并将每个键与关键字匹配,如果找到关键字则返回相应的值。
这将是一个 O(N)
操作。
>>> my_dict = {'name': 'Klauss', 'age': 26, 'Date of birth': '15th july'}
>>> next(v for k,v in my_dict.items() if 'Date' in k)
'15th july'
要获取所有这些值,请使用列表推导:
>>> [ v for k,v in my_dict.items() if 'Date' in k]
['15th july']
如果您只想要那些键以“日期”开头的值,请使用 str.startswith
:
>>> next( v for k,v in my_dict.items() if k.startswith('Date'))
'15th july'
>>> [ v for k,v in my_dict.items() if k.startswith('Date')]
['15th july']
关于python - 使用键开始字符访问 Python dict 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17106819/