• python 练习题- 列表排序


    题目:

     1 第一行输入人员数
     2 第二行到第N行(小于等于100),每行输入三个变量,第一个名称,第二个人员编号,第三个数量
     3 
     4 要求:
     5 1.先按照名称从小到大排序
     6 2.名称相同,按照数量排序
     7 3.数量相同按照人员编号排序
     8 
     9 例:
    10 输入:
    11 
    12 3
    13 cc 3 11
    14 aa 3 22
    15 aa 2 22
    16 ab 1 33
    17 
    18 输出:
    19 aa 2 22
    20 aa 3 22
    21 ab 1 33
    22 cc 3 11

    答案:

     1 import sys
     2 if __name__ == "__main__":
     3     # 第一行的n
     4     n = int(sys.stdin.readline().strip())
     5     toallList = []
     6     for i in range(100):
     7         # 读取每一行
     8         line = sys.stdin.readline().strip()
     9         # 转成列表
    10         values = list(map(str, line.split()))
    11 
    12         toallList.append(values)
    13         if line == '' :
    14             break
    15     toallList.pop()
    16     #排序
    17     toallList.sort(key=lambda i: i[1], reverse=False)
    18     toallList.sort(key=lambda i: i[2], reverse=False)
    19     toallList.sort(key=lambda i: i[0], reverse=False)
    20 
    21     for i in range(len(toallList)):
    22         print(toallList[i][0],toallList[i][1],toallList[i][2])
  • 相关阅读:
    103
    101
    102
    100
    ByteView和Sink
    二叉排序树删除、搜索、插入的迭代实现
    怎样就地反转单链表?
    有序单链表的合并
    有序数组的合并
    静态表之整型数组的插入、删除、查找
  • 原文地址:https://www.cnblogs.com/whycai/p/14432892.html
Copyright © 2020-2023  润新知