当前位置: 首页 > 编程笔记 >

符合Python中特定条件的元素计数

汝墨一
2023-03-14
本文向大家介绍符合Python中特定条件的元素计数,包括了符合Python中特定条件的元素计数的使用技巧和注意事项,需要的朋友参考一下

在本文中,我们将看到如何从Python列表中获取一些选定的元素。因此,我们需要设计一些条件,并且仅应选择满足该条件的元素并打印其计数。

求和

在这种方法中,我们有条件地选择元素并使用一些元素来获取它们的数量。如果元素存在,则使用1;否则,条件条件的结果使用0。

示例

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
# Given list
print("Given list:\n", Alist)
cnt = sum(1 for i in Alist if i in('Mon','Wed'))
print("Number of times the condition is satisfied in the list:\n",cnt)

输出结果

运行上面的代码给我们以下结果-

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Number of times the condition is satisfied in the list:
3

有映射和lambda

这里也可以使用条件,但也可以使用lambda和map函数。最后,我们应用求和函数来获取计数。

示例

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
# Given list
print("Given list:\n", Alist)
cnt=sum(map(lambda i: i in('Mon','Wed'), Alist))
print("Number of times the condition is satisfied in the list:\n",cnt)

输出结果

运行上面的代码给我们以下结果-

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Number of times the condition is satisfied in the list:
3

与减少

reduce函数将特定函数应用于作为参数提供给它的列表中的所有元素。我们将其与in条件一起使用,最终生成与该条件匹配的元素计数。

示例

from functools import reduce
Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
# Given list
print("Given list:\n", Alist)
cnt = reduce(lambda count, i: count + (i in('Mon','Wed')), Alist, 0)
print("Number of times the condition is satisfied in the list:\n",cnt)

输出结果

运行上面的代码给我们以下结果-

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Number of times the condition is satisfied in the list:
3
 类似资料:
  • 问题内容: 我有一个包含一组其他实体的实体。 Entity1包含SetEntityTwos 我想为entityTwos内部的“ id”字段创建搜索条件。 我搜索了,但没有得到任何答案。有人有主意吗? 谢谢,斯里 问题答案: 很容易。就像是:

  • 问题内容: 如何获取与流中的条件匹配的第一个元素?我已经尝试过了但是没用 该条件不起作用,在除Stop之外的其他类中调用filter方法。 问题答案: 这可能是您要寻找的: 一个例子: 输出为:

  • 问题内容: 大熊猫中是否有单个函数来执行SUMIF的等价功能(对特定条件求和)和COUNTIF(对Excel中的特定条件的值进行计数)? 我知道有许多多步功能可用于 例如我可以使用然后使用 因为我可以使用并寻找答案,或者使用过滤器和 在输入条件和数据框并获得总和或计数结果时,是否有简单的一步过程即可完成这些功能? 问题答案: 您可以先进行条件选择,然后使用该函数汇总选择的结果。 有多个条件:

  • 我有以下字符串: 对于数组中的每个D,我是否可以知道在每个D之前和之后有多少个连续的T或D与每个D之前的字母相同。所以对于第一个D,它前面的字母是T,那么我想知道在第一个D之前和之后有多少个连续的T。对于第二个D,它前面的字母是Q,所以我想找出第二个D之前和之后连续Q的#。 例如,对于第一个D,在D之前有1个T,在出现Q之前有1个T(例如:对于第一个D,类似于“TDT”) 对于第二个D,有一个连续

  • 问题内容: 我有以下数据: 对于每组记录(按ParentID分组),我想查找所有没有包含“ A”作为数据值的记录的组。 由于第1组和第6组确实包含至少一个以“ A”作为数据值的记录,因此我不希望看到它们。我只想查看记录4和5(它们是组4的一部分),因为该组中没有记录带有“ A”。 任何帮助是极大的赞赏! 问题答案: 如果表很大,建议建立索引。

  • 问题内容: 我正在尝试建立一个hibernate条件查询,以查找在集合中具有特定元素的实体。 我们可以以如下所示的Book对象为例: 实体的映射如下: 现在,我想找出马特写的那些书。使用纯SQL,我可以执行以下查询: 这一切都很好,我得到了马特参与写作的所有书籍。但是,我从事的项目使用的是Criteria API而不是原始SQL,而且我还没有找到一种以这种形式表示相同查询的方法。我看了一下Rest