简介
在这个挑战中,你需要在给定列表中找出奇偶性异常值。奇偶性异常值是指列表中的元素,其奇偶性(奇数或偶数)与列表中大多数元素的奇偶性不同。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在这个挑战中,你需要在给定列表中找出奇偶性异常值。奇偶性异常值是指列表中的元素,其奇偶性(奇数或偶数)与列表中大多数元素的奇偶性不同。
编写一个函数 find_parity_outliers(nums)
,它接受一个整数列表 nums
作为参数,并返回 nums
中所有奇偶性异常值的列表。
要解决这个问题,你可以按照以下步骤进行:
collections.Counter
和列表推导式来统计列表中偶数和奇数的值。collections.Counter.most_common()
来获取最常见的奇偶性。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]
]
find_parity_outliers([1, 2, 3, 4, 6]) ## [1, 3]
在这个挑战中,你学习了如何在整数列表中找出奇偶性异常值。你使用了 collections.Counter
模块来统计列表中的偶数和奇数的值,然后找出最常见的奇偶性。最后,你使用列表推导式找出所有与最常见奇偶性不匹配的元素。