はじめに
このチャレンジでは、与えられたリストの偶奇性のアウトライアを見つけることが課題となっています。偶奇性のアウトライアは、リストの要素の大部分と異なる偶奇性(奇数または偶数)を持つリストの要素です。
偶奇性のアウトライアを見つける
整数のリスト nums を引数として受け取り、nums に含まれるすべての偶奇性のアウトライアのリストを返す関数 find_parity_outliers(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 モジュールを使ってリスト内の偶数と奇数の値をカウントし、最も一般的な偶奇性を見つけました。最後に、最も一般的な偶奇性と一致しないすべての要素を見つけるためにリスト内包表記を使いました。