[解決済み] 大文字・小文字を区別しない辞書
2023-03-06 23:47:06
質問
大文字と小文字を区別しない辞書を作りたいのですが、どうすればいいですか?
こんなサンプルコードもあります。
text = "practice changing the color"
words = {'color': 'colour',
'practice': 'practise'}
def replace(words,text):
keys = words.keys()
for i in keys:
text= text.replace(i ,words[i])
return text
text = replace(words,text)
print text
出力=色を変える練習
別の文字列を
"practice changing the Color"
という文字列が必要です。
Color
は大文字で始まる) でも同じ出力が得られます。
を使用して小文字に変換する一般的な方法があると思います。
mydictionary[key.lower()]
を使用して小文字に変換する一般的な方法があると思いますが、これを私の既存のコードにどのように統合するのが最善かわかりません。(これがとにかく合理的で単純なアプローチであるならば)。
どのように解決するのですか?
私があなたを正しく理解し、あなたが大文字と小文字を区別しない方法で辞書をキーにする方法が必要な場合、1つの方法はdictのサブクラスとセッター/ゲッターをオーバーロードすることでしょう。
class CaseInsensitiveDict(dict):
def __setitem__(self, key, value):
super(CaseInsensitiveDict, self).__setitem__(key.lower(), value)
def __getitem__(self, key):
return super(CaseInsensitiveDict, self).__getitem__(key.lower())
関連
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 辞書から要素を削除する
-
[解決済み] 2つのリストを辞書に変換するにはどうしたらいいですか?
-
[解決済み] リスト内包型辞書の作成
-
[解決済み] 大文字と小文字を区別しない文字列比較を行うにはどうすればよいですか?
-
[解決済み】大文字と数字を含むランダムな文字列の生成
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Python 2 と 3 の互換性で変数が文字列かどうかをチェックする方法
-
[解決済み】大文字・小文字を区別しない置換
-
[解決済み】dictを「完璧に」オーバーライドするには?
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] バブルソートの宿題
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複