使用键开始字符访问Python字典值

发布于 2021-01-29 15:14:29

我想知道:是否可以使用不完整的键访问dict值(只要给定字符串的条目不超过一个)?例如:

my_dict = {'name': 'Klauss', 'age': 26, 'Date of birth': '15th july'}
print my_dict['Date']
>> '15th july'

这可能吗?怎么做?

关注者
0
被浏览
50
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您无法直接使用来执行此操作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']
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看