Pythonのsorted()並べ替えとアルファベットの大きさの書く問題
1320 ワード
今日はpythonを練習していますが、辞書のキーをsortedで並べ替えてみたら、予想通りに並べられていませんでした。
研究したところ、アルファベットの大文字と小文字は順序に影響します。
まず辞書を作成します。キーの中の最初の文字は大文字と小文字があります。
Lisa
トム
アリス
ジョン
Liu
次に私はtitle関数を使わずに並べ替えを行います。
Lisa
トム
alice
ジョン
liu
その結果、まず最初の文字を大文字で並べ替えてから小文字を並べ替えることができました。titleを使っていただけに、順序が混乱しているように見えます。
このような状況を避けるために、まず空白の辞書を作って、元の辞書のキーを小文字化して保存して、元の辞書を遍歴して、キーを小文字に変えて、同時にデータを新しい辞書に保存します。
アリス
ジョン
Lisa
Liu
トム
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
研究したところ、アルファベットの大文字と小文字は順序に影響します。
まず辞書を作成します。キーの中の最初の文字は大文字と小文字があります。
favorite_digit = {
'john' : 4,
'Tom' : 5,
'Lisa' : 9,
'liu' : 5,
'alice' : 0,
}
for name in sorted(favorite_digit.keys()):
print(name.title())
運転後に予想と合わないことが分かりました。Lisa
トム
アリス
ジョン
Liu
次に私はtitle関数を使わずに並べ替えを行います。
for name in sorted(favorite_digit.keys()):
print(name)
実行結果Lisa
トム
alice
ジョン
liu
その結果、まず最初の文字を大文字で並べ替えてから小文字を並べ替えることができました。titleを使っていただけに、順序が混乱しているように見えます。
このような状況を避けるために、まず空白の辞書を作って、元の辞書のキーを小文字化して保存して、元の辞書を遍歴して、キーを小文字に変えて、同時にデータを新しい辞書に保存します。
favorite_digit_lower = {} #
for name, digit in favorite_digit.items():
name = name.lower() # , ,
#print(name) # print name
favorite_digit_lower [name] = digit #
for name in sorted(favorite_digit_lower.keys()):
print(name.title()) # ,
結果を印刷アリス
ジョン
Lisa
Liu
トム
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。