python - 使用键开始字符访问 Python dict 值

标签 python dictionary

我想知道:是否可以使用不完整的键访问 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/

相关文章:

python - 给定键适合一定的间隔,如何在 python 中打印出字典的值?

python - 如何从python中的多个词典中获取一个键的值?

python - 如何获取硬链接(hard link)的数量

java - 将列表条目排序到映射中的算法的性能

java - 查找图像中的隐藏文件(视频文件)

python - 即时暂停(并恢复)Python 程序

javascript - 在 MVC 中解析 JSON 字典中的键/值对结果

Java 8 按多个字段分组到单个映射中

python - 如何在kivy python中使用滚动条

python - pyqt dropEvent 不会触发