zoukankan      html  css  js  c++  java
  • sorted()函数排序的灵活运用---面试

    知识点:

    题目一:列表嵌套字典的排序,分别根据年龄和姓名排序

    foo = [{"name":"zs","age":19},{"name":"ll","age":54},
    {"name":"wa","age":17},{"name":"df","age":23}]

     1 foo = [{"name": "zs", "age": 19}, {"name": "ll", "age": 54},
     2 
     3         {"name": "wa", "age": 17}, {"name": "df", "age": 23}]
     4 
     5 
     6 a = sorted(foo, key=lambda x: x['age'], reverse=True)
     7 print('按照年龄倒序排列:', a)
     8 
     9 a = sorted(foo, key=lambda x: x['name'])
    10 print('按照姓名排序:', a)

    运行结果如下:

    题目二:列表嵌套元组,分别按字母和数字排序
    foo = [("ab", 20), ("ur", 30), ("wa", 19), ('zf', 23)]
    1 foo = [("ab", 20), ("ur", 30), ("wa", 19), ('zf', 23)]
    2 a = sorted(foo, key=lambda x: x[0], reverse=True)  # reverse=True是降序,reverse=False是升序(默认)
    3 print('按照字母排序的结果是:', a)
    4 a = sorted(foo, key=lambda x: x[1])
    5 print('按照数字排序的结果是:', a

    运行结果如下:

    题目三:列表嵌套列表排序,年龄数字相同怎么办?
    foo = [("ab", 20), ("ur", 30), ("wa", 19), ('zf', 23), ('ha', 23), ('nb', 23)]

    1 foo = [("ab", 20), ("ur", 30), ("wa", 19), ('zf', 23), ('ha', 23), ('nb', 23)]
    2 a = sorted(foo, key=lambda x: (x[1], x[0]))  # 年龄相同怎么办?lambda表达式的key值添加参数,按字母排序
    3 print('按年龄排序,年龄相同的按照姓名排序:', a)

    运行结果是:

     题目四:根据字符串长度排序

    s = ['ab', 'uuu', 'w', 'iudsc', 'sdgfkjsgfasu', 'qq', 'uytg']

    1 s = ['ab', 'uuu', 'w', 'iudsc', 'sdgfkjsgfasu', 'qq', 'uytg']
    2 # 使用sorted方法.sorted函数有返回值,不改变s本身的值
    3 s_new = sorted(s, key=lambda x: len(x))
    4 print(s_new, s)
    5 
    6 # 使用sort方法。sort函数没有返回值,是修改s本身。
    7 s.sort(key=len)
    8 print(s)

    运行结果是:

     
  • 相关阅读:
    jQuery操作Table学习总结[转]
    SQL语句中的单引号处理以及模糊查询
    正则表达式实现将html文本转换为纯文本格式(将html字符串转换为纯文本方法)
    ASP.NET中使用UpdatePanel实现局部异步刷新方法和攻略(转)
    Response.Redirect在新窗口打开(转载)
    position属性absolute与relative 的区别
    下载文件
    gridveiw的使用
    MarkDown和流程图诠释你的代码
    git使用笔记
  • 原文地址:https://www.cnblogs.com/annatest/p/13625321.html
Copyright © 2011-2022 走看看