Python代码然后实现列表分组计数

技术Python代码然后实现列表分组计数本篇文章给大家分享的是有关Python代码然后实现列表分组计数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. c

本文是关于Python代码,然后实现列表分组计数。边肖觉得很实用,就分享给大家学习一下。希望你看完这篇文章能有所收获。让我们和边肖一起看看。

1. count_by

defcount_by(arr,fn=lambdax:x):

密钥={}

forlinmap(fn,arr):

key[El]=1 felnotinkyelsekey[El]1

returnkey

#示例

来自mathimportfloor

count_by([6.1,4.2,6.3],floor)#{6:2,4:1}

Count _ by (['一','二','三'],len) # {3:2,533601} Count _ by根据给定的函数对列表中的元素进行分组,并返回每个组中的元素数。使用此映射()将给定列表的值与给定函数进行映射。迭代映射,并增加每次出现的元素数量。

该函数使用not in判断当前字典中是否包含指定的关键字,如果不包含,则将该关键字添加到字典中,并将相应的值设置为1;如果是的话,给这个值加1。

00-1010字典派生的形式为{key _ expr:Value _ expr用于集合if条件中的值}。group_by函数中字典派生的value_expr是一个列表,它是使用列表派生生成的。也就是

{ key _ expr :[xforxincollection 2 if条件2] forvalueincollection1 if条件1}同时我们可以看到,根据group_by代码中的字典推导,可能会计算出具有相同键的项,而根据Pyrhon中字典类型的规则,如果键相同,则只保留最新的键值对。实际上,当键相同时,值也相同。[El for El in lst if fn(El)=key]在派生的for语句中只有一个变量key。

d={ '一' :1,'二' :2,'三' :3,'二' :2}

d

{ '一' :1,'二' :2,'三' :3}

d={ '一' :1,'二' :2,'三' :3,'二' :22}

d

{ '一' :1,'二' :22,'三' :3}

这里,分组后可以直接用同样的方法获取列表长度。但是,这种方法已经遍历了列表两次,这将使程序效率低下。

defcount_by(lst,fn):

返回{ key : len([elf orelinstiffn(El)==key])Forkeyinmap(fn,lst)}

2. 使用字典推导式

类集合。Defaultdict ([default_factory [,])收藏。Defaultdict包含一个default _ factory属性,可以用来快速构造规范。

当int用作default_factory时,defaultdict可以用于计数。所以你可以直接用它来简化代码。与字典推导法相比,只需要循环一次列表。

from collectionimport defaultdict

defcount_by(lst,fn):

d=defaultdict(int)

前级入口:

d[fn(el)]=1

Returnd当使用列表作为default_factory时,很容易将序列(由键-值对组成)转换为字典(由键-列表对组成)。

defgroup_by(lst,fn):

d=defaultdict(列表)

前级入口:

d[fn(el)]。追加(el)

返回d

#示例

来自mathimportfloor

group_by([6.1,4.2,6.3],floor)#{4:[4.2],6:[6.1,6.3]}

Group _ by (['一','二','三'],len) # {3: ['一','二'],5: ['三']}以上都是Python代码,然后实现列表分组计数。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/84022.html

(0)

相关推荐

  • 如何分析Tomcat9.0.37的基础及在IDEA中的配置

    技术如何分析Tomcat9.0.37的基础及在IDEA中的配置今天就跟大家聊聊有关如何分析Tomcat9.0.37的基础及在IDEA中的配置,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根

    攻略 2021年12月8日
  • 更新webservice引用会遇到什么问题

    技术更新webservice引用会遇到什么问题这篇文章给大家分享的是有关更新webservice引用会遇到什么问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。当写完webservice,并且

    攻略 2021年11月23日
  • 日本服务器租用哪家服务比较好

    技术日本服务器租用哪家服务比较好在租用日本服务器的时候首先要选择合适的机房才能确保服务器的正常稳定运行,那么如何判断自己选择的机房是否可靠呢,日本服务器租用哪家售后服务比较好,建议考察一下以下几点服务器维护 定期进行服务

    礼包 2021年12月16日
  • 睡眠浅,入睡难,睡眠浅,如何改善

    技术睡眠浅,入睡难,睡眠浅,如何改善我听过一种说法,人之所以睡不着是因为大脑神经细胞异常兴奋活跃睡眠浅。这种说法是否有科学依据,也无从考证。不过,我比较认同这种说法。我曾经的经历也基本上和你类似,睡眠不好。有时整夜睡不着

    生活 2021年10月30日
  • 苹果电脑如何切换输入法,Mac下如何切换输入法

    技术苹果电脑如何切换输入法,Mac下如何切换输入法1、如果你只有二个输入法苹果电脑如何切换输入法,一个英文输入法和一个中文输入法,(五笔或拼音),那我们可以用键盘快捷键来切换就行了,按下command键,再按一下空格键,

    生活 2021年10月28日
  • PDF文件如何压缩

    技术PDF文件如何压缩小编给大家分享一下PDF文件如何压缩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  步骤一:打开压缩工具,在跳转的页面

    攻略 2021年10月26日