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)

相关推荐

  • 和田玉怎样鉴别,怎么判断一块和田玉的好坏

    技术和田玉怎样鉴别,怎么判断一块和田玉的好坏如何区分和田玉的好坏和田玉怎样鉴别?和田玉深受中国人的喜爱,和田玉文化又是中国玉文化的重要代表,是中国传统文化的重要组成部分。和田玉在古代又称昆仑玉,主要来源于昆仑山脉中,和田

    生活 2021年10月26日
  • javascript 字符串如何转布尔

    技术javascript 字符串如何转布尔这篇文章主要介绍了javascript 字符串如何转布尔,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    攻略 2021年11月18日
  • JavaScript对象访问器有哪些

    技术JavaScript对象访问器有哪些本篇内容主要讲解“JavaScript对象访问器有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript对象访问器有哪

    攻略 2021年11月20日
  • 数据库迁移需要多长时间

    技术数据库迁移需要多长时间这篇文章将为大家详细讲解有关数据库迁移需要多长时间,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是数据库迁移?数据库迁移是从一个数据库到另一个数据库的任何

    攻略 2021年10月26日
  • 水浒传每回概括200字,水浒传44章概括,200字)

    技术水浒传每回概括200字,水浒传44章概括,200字)●第四十四回 锦豹子小径逢戴宗 病关索长街遇石秀 话说公孙胜与水浒好汉约定的期限已到却迟迟未归水浒传每回概括200字,晁盖、宋江、吴用派戴宗往蓟州探望公孙胜,中途遇

    生活 2021年10月20日
  • 如何使用torch.le和le(其他)

    技术torch.le和le(other)怎么使用本篇内容主要讲解“torch.le和le(other)怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“torch.le和

    攻略 2021年12月24日