【问题标题】:Python - Sort Dictionary Key Alphabetically while sorting Value list elements by lengthPython - 按字母顺序对字典键进行排序,同时按长度对值列表元素进行排序
【发布时间】:2022-11-18 15:19:34
【问题描述】:

我这里有一本字典:

test_dict = {'gfg': ['One', 'six', 'three'], 
             'is': ['seven', 'eight', 'nine'], 
             'best': ['ten', 'six']}

我试过了:

for i in range(len(test_dict)):
                values = list(test_dict.values())
                keys = list(test_dict)
                value_sorted_list = values[i]
                value_sorted_list = keys[i]
                keys_sorted_list = random.shuffle(value_sorted_list)
                test_dict.update({f"{keys_sorted_list}":value_sorted_list})

我想按字母顺序对键进行排序,而按长度对值进行排序 像这样:

test_dict = {'best': ['six', 'ten'], 
             'gfg': ['One', 'six', 'three'], 
             'is': ['nine', 'eight', 'seven]}

我还想要另一个类似于我上面提到的函数,但如果元素的长度相似,则对它们进行随机排序。

以及另一个随机排序值列表的功能。

【问题讨论】:

    标签: python list function sorting dictionary


    【解决方案1】:

    按字母顺序对键进行排序,按长度对值进行排序。

    new_dict = {}
    for key in sorted(test_dict.keys()):
        sorted_values = sorted(test_dict[key], key=len)
        new_dict[key] = sorted_values
    print(new_dict)
    

    【讨论】:

      猜你喜欢
      • 2015-04-06
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多