Python-有序字典OrderedDict练习题

  • 问题:读取键盘输入结果,创建n个键值对,将其排序后放入有序字典并输出。
  • 详细描述:根据提示,实现函数功能:读取n(n>0)行输入,以每一行的数据为key,行号(从0开始)为value,建立n对键值对,然后将他们按照key排序后,放入一个有序字典,最后输出这个有序字典。
点击查看代码
import collections


def Func():
    pairs = []
    n = int(input())
    for s in range(n):
        k = input()
        # ********** Begin ********** #
        # 根据描述,创建一个变量用来存储输入的元素名称,和序号,可观察题目输出结果为元祖,
        tup = tuple([k, s])
        # 将此元祖打包到列表中,使用列表的append方法
        pairs.append(tup)
    # 创建有序字典(用于存放字典的处理结果),对此列表元素,使用key函数,获取需要排序的元素并使用lambda表达式取出元祖中第一个元素,,调用自带的sorted方法(按值的大小默认升序)返回此排序结果
    od = collections.OrderedDict(sorted(pairs, key=lambda s: s[0]))

    # ********** End ********** #
    print(od)


Func()

posted @ 2024-05-10 15:25  枯树老鸭  阅读(13)  评论(0编辑  收藏  举报