我正在尝试编写一个lambda函数(对Python的函数式编程风格来说仍然是新的)。我有一个这样的清单:
cur_list = [b'1z1zzz\r\n', b'1z1z1zzz\r\n', b'1z1z1zzz\r\n', b'zzzz\r\n', b'1zzzz\r\n']
我想按每个列表中出现“1”的次数对列表进行排序。所以在上面的列表中,正确的(排序的)解决方案将是这样的:
cur_list = [b'zzzz\r\n', b'1zzzz\r\n', b'1z1zzz\r\n', b'1z1z1zzz\r\n', b'1z1z1zzz\r\n']
可以将哪些lambda函数插入到以下代码片段中,以便在给定的字符串列表中按“1”的出现进行有效排序?
cur_list.sort(key=#####what lambda function to insert here)
感谢您的回答!
答案 0 :(得分:3)
那将是:
lambda x: x.count('1')
当然,你所拥有的似乎是一个字节字符串数组,你可能想要这个:
lambda x: x.count(b"1")