我有個問題。我有一個dict. 這包含縮寫。此 dict 應根據shortForm. 首先是所有帶有A, B, ..., Z. 我已經嘗試過sorted,但這不能按預期作業。現在我的問題是如何按字母對字典進行排序,以便獲得所需的輸出(見下文)?
代碼
final_output = {
"abbreviation_knmi": {
"symbol": "knmi",
"shortform": "KNMI",
"longform": "Koninklijk Nederlands Meteorologisch Instituut"
},
"abbreviation_fbi": {
"symbol": "fbi",
"shortform": "FBI",
"longform": "Federal Bureau of Investigation"
},
"abbreviation_eg": {
"symbol": "eg",
"shortform": "e.g.",
"longform": "For example"
}
}
sorted_list = sorted(final_output.keys(), key=lambda x: (final_output[x]['shortform']))
print(sorted_list)
[OUT] ['abbreviation_knmi', 'abbreviation_fbi', 'abbreviation_eg']
所需的輸出字典
{
"abbreviation_eg": {
"symbol": "eg",
"shortform": "e.g.",
"longform": "For example"
}
"abbreviation_fbi": {
"symbol": "fbi",
"shortform": "FBI",
"longform": "Federal Bureau of Investigation"
},
"abbreviation_knmi": {
"symbol": "knmi",
"shortform": "KNMI",
"longform": "Koninklijk Nederlands Meteorologisch Instituut"
},
}
uj5u.com熱心網友回復:
似乎它已經在這里回答了
final_output = {
"abbreviation_knmi": {
"symbol": "knmi",
"shortform": "KNMI",
"longform": "Koninklijk Nederlands Meteorologisch Instituut"
},
"abbreviation_fbi": {
"symbol": "fbi",
"shortform": "FBI",
"longform": "Federal Bureau of Investigation"
},
"abbreviation_eg": {
"symbol": "eg",
"shortform": "e.g.",
"longform": "For example"
}
}
sorted_dict = dict(sorted(final_output.items(), key=lambda x: x[1]['shortform']))
print(sorted_dict)
輸出:
{ 'abbreviation_eg': { 'longform': 'For example',
'shortform': 'e.g.',
'symbol': 'eg'},
'abbreviation_fbi': { 'longform': 'Federal Bureau of Investigation',
'shortform': 'FBI',
'symbol': 'fbi'},
'abbreviation_knmi': { 'longform': 'Koninklijk Nederlands Meteorologisch '
'Instituut',
'shortform': 'KNMI',
'symbol': 'knmi'}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/427518.html
