问题: 我有这样的一个列表:
['a.b.c.d11u.e.f.g', 'e.f88.g', 'caa3.z.brr', 'z.48.ff.ee']
需要找节点最多的一个(节点间由.分割)
看似简单的工作,要用 Pythonic 的方法来做,还是要对 Python 的内置函数有一定程度的熟悉,比如这里可以用最熟悉不过的max,但是会用到它并不常用的可选参数:key
node_list = ['a.b.c.d11u.e.f.g', 'e.f88.g', 'caa3.z.brr', 'z.48.ff.ee']
max_node = max(node_list, key=lambda n: n.count('.'))
在这里,使用key参数改变了max比较列表元素的方法,达到了完成任务的目的。