\

Pythonの辞書では、キーは大文字と小文字を区別します。しかし、大文字と小文字を区別せずに辞書のキーを取得する方法があります。以下にその方法を示します。

方法1: lower()またはupper()を使用する

Pythonのlower()またはupper()関数を使用して、辞書のキーとリストの要素を同じケースに変換します。

dictionary = {'one': 1, 'two': 2, 'three': 3}
list = ['One', 'second', 'THree']

for item in list:
    if item.lower() in map(str.lower, dictionary.keys()):
        print(item)

このコードでは、lower()関数を使用して、リストの各要素と辞書のキーを小文字に変換します。その結果、大文字と小文字を区別せずに辞書のキーを取得できます。

方法2: casefold()を使用する

casefold()関数を使用すると、大文字と小文字を区別せずに辞書のキーを取得できます。

dictionary = {'one': 1, 'two': 2, 'three': 3}
list = ['One', 'second', 'THree']

for item in list:
    if item.casefold() in dictionary:
        print(item)

ただし、casefold()関数は辞書のキーが大文字で始まる場合には機能しないことに注意してください。

方法3: NocaseDictを使用する

NocaseDictは、大文字と小文字を区別しない辞書を作成するためのPythonパッケージです。

from nocasedict import NocaseDict

dict1 = NocaseDict({'Alpha': 1, 'Beta': 2})
print(dict1['ALPHA'])  # 1

このコードでは、NocaseDictを使用して大文字と小文字を区別しない辞書を作成します。その結果、大文字と小文字を区別せずに辞書のキーを取得できます。

以上の方法を使用すれば、Pythonの辞書で大文字と小文字を区別せずにキーを取得することが可能です。適切な方法を選択して、コードを最適化してください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です