美文网首页
新手上路必看篇 sorted函数的技巧

新手上路必看篇 sorted函数的技巧

作者: Python_Camp | 来源:发表于2022-08-21 07:35 被阅读0次

6 kyu Sorting by bits
https://www.codewars.com/kata/59fa8e2646d8433ee200003f/train/python
Problem Statement: 给定数组arr = [7, 6, 15, 8]
bin(element) in 7有3个'1'的bit->(0111) 6有2个'1'bit->(000...0011) 15有4个'1'的bit->(000...1111) 8有1个'1'的bit->(000...1000)
包含'1'的数量由少到多排序结果为 [8, 6, 7, 15]
测试用例
[3, 8, 3, 6, 5, 7, 9, 1] => [1, 8, 3, 3, 5, 6, 9, 7]

def sort_by_bit(arr): 

    return sorted(arr,key=lambda x:(bin(x).count('1'),x))

测试用例的测试结果
[9,4,5,3,5,7,2,56,8,2,6,8,0] => [0, 2, 2, 4, 8, 8, 3, 5, 5, 6, 9, 7, 56]

课堂上深入讨论案例场景
丁丁猫组织noip竞赛队伍选拔的依据是算法考试成绩和数学成绩,在算法成绩相同时,再参考数学成绩。
以上你能否构造一个函数,返回所有同学由高到低的排序。

相关文章

网友评论

      本文标题:新手上路必看篇 sorted函数的技巧

      本文链接:https://www.haomeiwen.com/subject/vpcvgrtx.html