zoukankan      html  css  js  c++  java
  • 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])
  • 相关阅读:
    拷贝构造函数与赋值运算符的区别(待完善)
    概念学习(Concept Learning)
    函数对象适配器之ptr_fun的使用示例
    SynchronizationContext的研究之一(非WPF及Forms)
    ESLint
    Vue CLI 4.0 关于 webpack 基本配置范例
    Hdu3787
    Cf393A
    Cf387A
    Cf386B
  • 原文地址:https://www.cnblogs.com/whycai/p/14432892.html
Copyright © 2011-2022 走看看