av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Python 高效編程技巧分享

瀏覽:2日期:2022-07-11 16:46:06

一、根據(jù)條件在序列中篩選數(shù)據(jù)

假設(shè)有一個(gè)數(shù)字列表 data, 過濾列表中的負(fù)數(shù)

data = [1, 2, 3, 4, -5] # 使用列表推導(dǎo)式result = [i for i in data if i >= 0] # 使用 fliter 過濾函數(shù)result = filter(lambda x: x >= 0, data) 學(xué)生的數(shù)學(xué)分?jǐn)?shù)以字典形式存儲(chǔ),篩選其中分?jǐn)?shù)大于 80 分的同學(xué)

from random import randint d = {x: randint(50, 100) for x in range(1, 21)}r = {k: v for k, v in d.items() if v > 80}

二、對(duì)字典的鍵值對(duì)進(jìn)行翻轉(zhuǎn)

使用 zip() 函數(shù)

zip() 函數(shù)用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表。

from random import randint, sample s1 = {x: randint(1, 4) for x in sample('abfcdrg', randint(1, 5))}d = {k: v for k, v in zip(s1.values(), s1.keys())}

三、統(tǒng)計(jì)序列中元素出現(xiàn)的頻度

某隨機(jī)序列中,找到出現(xiàn)次數(shù)最高的3個(gè)元素,它們出現(xiàn)的次數(shù)是多少

方法1:

# 可以使用字典來統(tǒng)計(jì),以列表中的數(shù)據(jù)為鍵,以出現(xiàn)的次數(shù)為值from random import randint # 構(gòu)造隨機(jī)序列data = [randint(0, 20) for _ in range(30)] # 列表中出現(xiàn)數(shù)字出現(xiàn)的次數(shù)d = dict.fromkeys(data, 0) for v in d: d[v] += 1

方法2:

# 直接使用 collections 模塊下面的 Counter 對(duì)象from collections import Counterfrom random import randint data = [randint(0, 20) for _ in range(30)] c2 = Counter(data) # 查詢?cè)爻霈F(xiàn)次數(shù)c2[14] # 統(tǒng)計(jì)頻度出現(xiàn)最高的3個(gè)數(shù)c2.most_common(3) 對(duì)某英文文章單詞進(jìn)行統(tǒng)計(jì),找到出現(xiàn)次數(shù)最高的單詞以及出現(xiàn)的次數(shù)

import refrom collections import Counter # 統(tǒng)計(jì)某個(gè)文章中英文單詞的詞頻with open('test.txt', 'r', encoding='utf-8') as f: d = f.read() # 所有的單詞列表total = re.split('W+', d)result = Counter(total)print(result.most_common(10))

四、根據(jù)字典中值的大小,對(duì)字典中的項(xiàng)進(jìn)行排序

比如班級(jí)中學(xué)生的數(shù)學(xué)成績以字典的形式存儲(chǔ),請(qǐng)按數(shù)學(xué)成績從高到底進(jìn)行排序

方法1:

# 利用 zip 將字典轉(zhuǎn)化為元組,再用 sorted 進(jìn)行排序from random import randint data = {x: randint(60, 100) for x in 'xyzfafs'}sorted(data)data = sorted(zip(data.values(), data.keys()))

方法2:

# 利用 sorted 函數(shù)的 key 參數(shù)from random import randint data = {x: randint(60, 100) for x in 'xyzfafs'}data.items()sorted(data.items(), key=lambda x: x[1])

五、在多個(gè)字典中找到公共鍵

實(shí)際場景:在足球聯(lián)賽中,統(tǒng)計(jì)每輪比賽都有進(jìn)球的球員

第一輪:{'C羅': 1, '蘇亞雷斯':2, '托雷斯': 1..}

第二輪:{'內(nèi)馬爾': 1, '梅西':2, '姆巴佩': 3..}

第三輪:{'姆巴佩': 2, 'C羅':2, '內(nèi)馬爾': 1..}

from random import randint, samplefrom functools import reduce # 模擬隨機(jī)的進(jìn)球球員和進(jìn)球數(shù)s1 = {x: randint(1, 4) for x in sample('abfcdrg', randint(1, 5))}s2 = {x: randint(1, 4) for x in sample('abfcdrg', randint(1, 5))}s3 = {x: randint(1, 4) for x in sample('abfcdrg', randint(1, 5))} # 首先獲取字典的 keys,然后取每輪比賽 key 的交集。由于比賽輪次數(shù)是不定的,所以使用 map 來批量操作# map(dict.keys, [s1, s2, s3]) # 然后一直累積取其交集,使用 reduce 函數(shù)reduce(lambda x, y: x & y, map(dict.keys, [s1, s2, s3]))

以上就是Python 高效編程技巧分享的詳細(xì)內(nèi)容,更多關(guān)于Python 高效編程技巧的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲成人二区 | 日韩欧美在线观看 | 婷婷色在线 | 日韩中文视频 | 国产日韩在线播放 | 国产做爰免费观看视频 | 成人免费在线观看 | 国产精品自拍第一页 | 国产成人影视 | 免费毛片基地 | 欧美精品一区在线观看 | 日韩理论在线 | 99久久久国产精品 | 免费一级黄色片 | 欧美精品亚洲精品 | 伊人成人在线 | 日本在线小视频 | 成人福利在线 | www.午夜| 日韩色综合 | 一级做a爱片性色毛片 | 日本伊人久久 | 九九在线 | 成人精品在线视频 | www.欧美日韩| 黄色片在线免费观看 | 一极黄色片 | 国产精品99久久久久久久久久久久 | 老司机精品福利视频 | 国产亚洲视频在线观看 | 天天干天天操天天摸 | 黄色片久久 | 亚洲黄色一级 | 美女黄色免费网站 | 亚洲午夜视频 | 九色91popny蝌蚪新疆 | 美女黄色在线观看 | 久久精品欧美一区二区三区不卡 | 久色精品| 欧美黑人一区二区三区 | 久久国产精品一区二区三区 |