服务器之家

服务器之家 > 正文

Python代码实现找到列表中的奇偶异常项

时间:2022-02-28 00:20     来源/作者:Felix

本篇阅读的代码片段来自于30-seconds-of-python

1.find_parity_outliers

?
1
2
3
4
5
6
7
8
9
10
from collections import Counter
 
def find_parity_outliers(nums):
  return [
    x for x in nums
    if x % 2 != Counter([n % 2 for n in nums]).most_common()[0][0]
  ]
 
# EXAMPLES
find_parity_outliers([1, 2, 3, 4, 6]) # [1, 3]

find_parity_outliers函数接收一个列表,并返回列表中的奇偶异常项。奇偶异常项指的是和列表中大多数项奇偶性质不同的项。函数使用列表推导式来逐个检查输入列表中的每一项是否为奇偶异常项。Counter中使用列表推导式和取余操作(% 2)逐个提取其输入列表每项的奇偶性质。使用collections.Counter.most_common()来获取列表中最常见的奇偶性。

2.class collections.Counter([iterable-or-mapping])

Counter是一个dict的子类,用于计数可哈希对象。它是一个集合,元素像字典键(key)一样存储,它们的计数存储为值。计数可以是任何整数值,包括0和负数。most_common([n])Counter提供的一个方法,该方法

返回一个列表,其中包含n个最常见的元素及出现次数,按常见程度由高到低排序。 如果n被省略或为None,most_common()将返回计数器中的所有元素。 计数值相等的元素按首次出现的顺序排序。

?
1
2
3
>>> from collections import Counter
>>> Counter('abracadabra').most_common(3)
[('a', 5), ('b', 2), ('r', 2)]

[0][0]是在结果列表里面定位元素,会把最常出现的元素提取出来。

?
1
2
>>> Counter('abracadabra').most_common(3)[0][0]
'a'

到此这篇关于Python代码实现找到列表中的奇偶异常项的文章就介绍到这了,更多相关Python找到列表中的奇偶异常项内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://segmentfault.com/a/1190000040909221

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部