最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 高效編程技巧分享

 更新時(shí)間:2020年09月10日 09:34:06   作者:新碼農(nóng)  
工作中經(jīng)常要處理各種各樣的數(shù)據(jù),遇到項(xiàng)目趕進(jìn)度的時(shí)候自己寫函數(shù)容易浪費(fèi)時(shí)間。Python 中有很多內(nèi)置函數(shù)幫你提高工作效率。

一、根據(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 Counter
from 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 re
from 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, sample
from 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)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python如何將圖片轉(zhuǎn)換為字符圖片

    python如何將圖片轉(zhuǎn)換為字符圖片

    這篇文章主要為大家詳細(xì)介紹了python將圖片轉(zhuǎn)換為字符圖片的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 關(guān)于python中.xpath的使用問題

    關(guān)于python中.xpath的使用問題

    根據(jù)xpath定位到了tr,注意瀏覽器自動(dòng)生成了tbody,在python中要把自動(dòng)生成的tbody層級(jí)去掉,這樣要怎么操作呢?下面通過代碼給大家介紹下python中.xpath的使用問題,感興趣的朋友一起看看吧
    2021-11-11
  • 使用PySpark實(shí)現(xiàn)數(shù)據(jù)清洗與JSON格式轉(zhuǎn)換的實(shí)踐詳解

    使用PySpark實(shí)現(xiàn)數(shù)據(jù)清洗與JSON格式轉(zhuǎn)換的實(shí)踐詳解

    在大數(shù)據(jù)處理中,PySpark?提供了強(qiáng)大的工具來處理海量數(shù)據(jù),特別是在數(shù)據(jù)清洗和轉(zhuǎn)換方面,本文將介紹如何使用?PySpark?進(jìn)行數(shù)據(jù)清洗,并將數(shù)據(jù)格式轉(zhuǎn)換為?JSON?格式的實(shí)踐,感興趣的可以了解下
    2023-12-12
  • 解決PyCharm不在run輸出運(yùn)行結(jié)果而不是再Console里輸出的問題

    解決PyCharm不在run輸出運(yùn)行結(jié)果而不是再Console里輸出的問題

    這篇文章主要介紹了解決PyCharm不在run輸出運(yùn)行結(jié)果而不是再Console里輸出的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Pandas的MultiIndex多層索引使用說明

    Pandas的MultiIndex多層索引使用說明

    這篇文章主要介紹了Pandas的MultiIndex多層索引使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Tensorflow--取tensorf指定列的操作方式

    Tensorflow--取tensorf指定列的操作方式

    這篇文章主要介紹了Tensorflow--取tensorf指定列的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python實(shí)現(xiàn)上下文管理器的方法

    Python實(shí)現(xiàn)上下文管理器的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)上下文管理器的方法,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-08-08
  • python代碼編寫計(jì)算器小程序

    python代碼編寫計(jì)算器小程序

    這篇文章主要為大家詳細(xì)介紹了python代碼編寫計(jì)算器小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • python中unittest框架應(yīng)用詳解

    python中unittest框架應(yīng)用詳解

    這篇文章主要介紹了Python中Unittest框架的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • python GoogleIt庫實(shí)現(xiàn)在Google搜索引擎上快速搜索

    python GoogleIt庫實(shí)現(xiàn)在Google搜索引擎上快速搜索

    這篇文章主要為大家介紹了python GoogleIt庫實(shí)現(xiàn)在Google搜索引擎上快速搜索功能探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01

最新評(píng)論

平乡县| 崇州市| 成都市| 威远县| 阳高县| 上饶县| 山东省| 东阳市| 滦南县| 洛扎县| 英山县| 临安市| 梨树县| 榆林市| 微山县| 巴里| 从化市| 太湖县| 铁岭市| 铁力市| 抚顺县| 封开县| 伊宁市| 浦城县| 房产| 吉水县| 金沙县| 东丰县| 兰考县| 建水县| 丰台区| 南溪县| 天峻县| 东乡| 钟祥市| 毕节市| 喀什市| 保德县| 梅河口市| 富川| 芜湖市|