Python代碼實(shí)現(xiàn)找到列表中的奇偶異常項(xiàng)
本篇閱讀的代碼片段來自于30-seconds-of-python。
1.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函數(shù)接收一個(gè)列表,并返回列表中的奇偶異常項(xiàng)。奇偶異常項(xiàng)指的是和列表中大多數(shù)項(xiàng)奇偶性質(zhì)不同的項(xiàng)。函數(shù)使用列表推導(dǎo)式來逐個(gè)檢查輸入列表中的每一項(xiàng)是否為奇偶異常項(xiàng)。Counter中使用列表推導(dǎo)式和取余操作(% 2)逐個(gè)提取其輸入列表每項(xiàng)的奇偶性質(zhì)。使用collections.Counter.most_common()來獲取列表中最常見的奇偶性。
2.class collections.Counter([iterable-or-mapping])
Counter是一個(gè)dict的子類,用于計(jì)數(shù)可哈希對象。它是一個(gè)集合,元素像字典鍵(key)一樣存儲(chǔ),它們的計(jì)數(shù)存儲(chǔ)為值。計(jì)數(shù)可以是任何整數(shù)值,包括0和負(fù)數(shù)。most_common([n])是Counter提供的一個(gè)方法,該方法
返回一個(gè)列表,其中包含n個(gè)最常見的元素及出現(xiàn)次數(shù),按常見程度由高到低排序。 如果n被省略或?yàn)镹one,most_common()將返回計(jì)數(shù)器中的所有元素。 計(jì)數(shù)值相等的元素按首次出現(xiàn)的順序排序。
>>> from collections import Counter
>>> Counter('abracadabra').most_common(3)
[('a', 5), ('b', 2), ('r', 2)]
[0][0]是在結(jié)果列表里面定位元素,會(huì)把最常出現(xiàn)的元素提取出來。
>>> Counter('abracadabra').most_common(3)[0][0]
'a'
到此這篇關(guān)于Python代碼實(shí)現(xiàn)找到列表中的奇偶異常項(xiàng)的文章就介紹到這了,更多相關(guān)Python找到列表中的奇偶異常項(xiàng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python基于文本內(nèi)容實(shí)現(xiàn)隱私信息提取與評估
這篇文章主要為大家介紹了Python如何實(shí)現(xiàn)基于文本內(nèi)容的用戶隱私泄露風(fēng)險(xiǎn)評估系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2025-03-03
2018年P(guān)ython值得關(guān)注的開源庫、工具和開發(fā)者(總結(jié)篇)
本文給大家總結(jié)了2018年P(guān)ython值得關(guān)注的開源庫、工具和開發(fā)者,需要的朋友可以參考下2018-01-01
分享Pandas庫中的一些寶藏函數(shù)transform()
Pandas具有很多強(qiáng)大的功能,transform就是其中之一,利用它可以高效地匯總數(shù)據(jù)且不改變數(shù)據(jù)行數(shù),transform是一種什么數(shù)據(jù)操作?如果熟悉SQL的窗口函數(shù),就非常容易理解了2021-09-09
python人工智能tensorflow構(gòu)建循環(huán)神經(jīng)網(wǎng)絡(luò)RNN
這篇文章主要為大家介紹了python人工智能tensorflow構(gòu)建循環(huán)神經(jīng)網(wǎng)絡(luò)RNN,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

