![](/img/trans.png)
[英]How to get the item with max date value in a dictionary with mixed type values?
[英]How to get the max item based on a dependent value?
我有这个数组:
array = ["a\nb", "c", "d"]
我想找出哪个数组的元素有更多行以及多少行。 我想要python中的红宝石代码:
array.map {|e| e.split("\n").size }.max #=> 2
这可行,但是我想知道是否有更好的方法:
bigger = 0
for e in array:
e_lines = len(e.split('\n'))
if e_lines > bigger:
bigger = e_lines
你可以做:
max(array, key=lambda x: x.count('\n'))
然后只获取结果对象的.count('\\n')
+ 1也可以知道有多少
In [54]: array = ["a\nb", "c", "d"]
In [56]: max(e.count("\n") for e in array)+1
Out[56]: 2
如果还需要最大行数的(可能是非唯一的)元素:
In [60]: max((e.count("\n")+1, e) for e in array)
Out[60]: (2, 'a\nb')
如果您想要确切的功能,那就是这样:
>>> array = ["a\nb", "c", "d"]
>>> [len(l.split('\n')) for l in array]
[2, 1, 1]
>>> max(len(l.split('\n')) for l in array)
2
但是unutbu的解决方案可能更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.