- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
#功能:多种方法统计列表中元素的个数
#QQ:9803052 老方
#有什么问题与建议与我联系。
lst=[11,11,12,13,12,23,23,25,62,27,27,26,52,25,25]
方法一:循环方法
该方法定义一个字典d,存放元素及个数
d={}
for k in lst:
d[k]=d.get(k,0)+1
print(d)
方法二:利用集合无重复元素的特点
m=set(lst)
dd={}
forx in m:
dd[x]=lst.count(x)
print(dd)
方法三:利用函数reduce
def tjNum(dic,k):
if k in dic:
dic[k]+=1
else:
dic[k]=1
return dic
print(reduce(tjNum,lst,{}))
#提供第三个参数,第一次,初始字典为空,作为tjNum 的第一个参数,然后遍历lst,作
为第二个参数,然后将返回的字典集合作为下一次的第一个参数
附注:
函数reduce 的用法:
python中的reduce 内建函数是一个二元操作函数,他用来将一个数据集合 (元
组等)中的所有数据进行下列操作:用传给reduce 中的函数 fun() (必须是一
1 2
个二元操作函数)先对集合中的第 , 个数据进行操作,得到的结果再与第三
个数据用fun()函数运算,最后得到一个结果。如:
seq=[4,6,9]
reduce(lambda x,y:x+y,seq)
执行过程:先对seq 中取出2 个参数即4,6 得到的结果10,再取第3 个数字9
与之前的结果10 进行运算,依次类推。。。
① lst [1,2,3,4,5]
reduce(lambda x,y:x+y,lst)
#这种方式用lambda表示当做参数,因为没有提供reduce的第三个参数,所以
第一次执行时x 1,y 2,第二次x 1+2,y 3,即列表的第三个元素
#或者
② lst [1,2,3,4,5]
reduce(lambda x,y:x+y,lst,0)
#这种方式用lambda表示当做参数,因为指定了reduce的第三个参数为0,所
以第一次执行时x 0,y 1,第二次x 0+1,y 2,即列表的第二个元素;假定指定
reduce的第三个参数为100,那么第一次执行x 100,y仍然是遍历列表的元素,
最后得到的结果为115
#或者
③ def add(x,y):
return x+y
reduce(add, lst)
#与①相同,只不过把lambda表达式换成了自定义函数
④ def add(x,y):
return x+y
print reduce(add, lst,0)
#与②相同,只不过把lambda表达式换成了自定义函数
原创力文档


文档评论(0)