キーの開始文字を使用してPythonの辞書値にアクセスする 質問する

キーの開始文字を使用してPythonの辞書値にアクセスする 質問する

疑問に思ったのですが、不完全なキーを持つ辞書値にアクセスすることは可能でしょうか (特定の文字列に複数のエントリがない限り)? たとえば、次のようになります。

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

これは可能ですか?どうすればできるのでしょうか?

ベストアンサー1

では直接これを行うことはできません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キーが「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']

おすすめ記事