• Python中sort函数与其中Len()和Lambda的组合
  • python

初学Python学的比较零散,有个不懂的问题始终找不到答案,恳望各位前辈赐教下

1 原义是根据字符串中不同字母的数量对一个字符串集合进行排序

2 代码
strings = ['foo', 'card', 'bar', 'aaaa', 'bbbb' ]

strings.sort(key= lamda x : len( set( list(x) ) ) )

输出结果为

strings

['aaaa', 'foo', 'abab', 'bar', 'card']

3 疑问
对于结果没有问题,疑问是

①在 lambda函数中 x是什么, 之前并没有声明x, 但是最后直接出现了list(x), 这样为什么不会出错

② 在之后的len(set(list 中, 我认为不应该是讲strings进行转换成list,然后转换成set了吗,按理说应该是len的是set(也就是里面有5个值结果为5),但是为何它能把这个x变成strings里的每个元素,然后一一list(),set(),len()吗

烦请赐教,感谢各位


  • 就几件    2020-04-13 11:27:42
  • 阅读 1393    收藏 0    回答 1
  • 邀请
  • 收藏
  • 分享
发送
登录 后发表评论
  • 51testing软件测试圈微信