在python中返回list函数中的最大数量

时间:2015-09-02 12:22:04

标签: python python-3.x

如何返回匹配的最大数字?例如:

def maximum_number([4, 5, 6, 5, 2])

返回2,因为5是最大数字并且出现两次。

3 个答案:

答案 0 :(得分:3)

将您的列表放入collections.Counter() object并询问最佳结果:

>>> from collections import Counter
>>> lst = [4, 5, 6, 5, 2]
>>> Counter(lst)
Counter({5: 2, 2: 1, 4: 1, 6: 1})
>>> Counter(lst).most_common(1)
[(5, 2)]
>>> Counter(lst).most_common(1)[0]
(5, 2)
>>> Counter(lst).most_common(1)[0][1]
2

Counter.most_common() method按计数返回前N个结果;上面的代码请求1个最高结果,从返回的列表中获取一个结果并仅提取计数:

#!/bin/bash

#Get the year 
curr_year=$(date +"%Y")

FILE_NAME=/test/codebase/wt.properties

key=wt.cache.master.slaveHosts=

prop_value=""

getproperty(){

    prop_key=$1

    prop_value=`cat ${FILE_NAME} | grep ${prop_key} | cut -d'=' -f2`
}
#echo ${prop_value}

getproperty ${key}

#echo "Key = ${key}; Value="${prop_value}

arr=( $prop_value )

for i in "${arr[@]}"; do 

echo $i  | head -n1 | cut -d "." -f1

done

答案 1 :(得分:1)

这可以帮到你......

lst = [4, 5, 6, 5, 2]    
max([lst.count(i) for i in lst])

答案 2 :(得分:0)

如图所示使用计数器效果很好。但是,它无助于理解模式。所以这是一个手动执行的配方

  1. 创建一个空字典
  2. 循环输入//列表
  3. 在字典中找到该值作为关键字
    • 如果存在,请将值增加一个
    • 否则添加值,值为1
  4. 循环完成后,找到dict中的最高值并使用其键

    这一切都可以在Python中有效地完成,使用dict.get(key, 0)+1dict.iteritems()(对于Python-2; items(),对于Python-3)。