• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:Python代码阅读第30篇找到列表中的奇偶异常项

python 搞代码 3年前 (2022-02-20) 14次浏览 已收录 0个评论

Python 代码浏览合集介绍:为什么不举荐Python初学者间接看我的项目源码

本篇浏览的代码实现了从输出列表中寻找奇偶异样项。

本篇浏览的代码片段来自于30-seconds-of-python。

find_parity_outliers

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()来获取列表中最常见的奇偶性。

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

Counter是一个dict的子类,用于计数可哈希对象。它是一个汇合,元素像字典键(key)一样存储,它们的计数存储为值。计数能够是任何整数值,包含0和正数。most_common([n])Counter提供的一个办法,该办法
返回一个列表,其中蕴含n个最常见的元素及呈现次数,按常见水平由高到低排序。 如果n被省略或为Nonemost_common()将返回计数器中的所有元素。 计数值相等的元素按首次呈现的程序排序。

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

[0][0]是在后果列表外面定位元素,会把最常呈现的元素提取进去。

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

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:Python代码阅读第30篇找到列表中的奇偶异常项
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址