使用关键的起始字符访问Python dict值 [英] Accessing Python dict values with the key start characters

查看:119
本文介绍了使用关键的起始字符访问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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆