使用关键的起始字符访问Python dict值 [英] Accessing Python dict values with the key start characters
本文介绍了使用关键的起始字符访问Python dict值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道:是否可以使用不完整的键访问dict值(只要给定字符串不多于一个条目)?例如:
I was wondering: would it be possible to access dict values with uncomplete keys (as long as there are not more than one entry for a given string)? For example:
my_dict = {'name': 'Klauss', 'age': 26, 'Date of birth': '15th july'}
print my_dict['Date']
>> '15th july'
这可能吗?如何做?
推荐答案
你不能直接用 dict [keyword] / code>,您必须遍历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'
要获得所有这些值,请使用列表解析:
To get all such values use a list comprehension:
>>> [ v for k,v in my_dict.items() if 'Date' in k]
['15th july']
使用 str.startswith
如果您只想要以Date开头的值:
use str.startswith
if you want only those values whose keys starts with 'Date':
>>> 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 dict值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文