91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python的這些騷操作,你都了解了嗎?

lviY_AI_shequ ? 來源:數(shù)據(jù)科學(xué)雜談 ? 2020-05-12 09:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著深度學(xué)習(xí)、機(jī)器學(xué)習(xí)等技術(shù)的火熱發(fā)展,python 作為一種面向?qū)ο蟮膭?dòng)態(tài)類型語言也跟著火了起來。不少計(jì)算機(jī)科班出身的同學(xué),在大學(xué)期間學(xué)習(xí)的多是 C++java,雖然轉(zhuǎn)向 Python 難度并不大,但是有些 Python 使用的小技巧,由于受限于 C++和 java 思維的限制,可能不會(huì)往那方面去想(畢竟當(dāng)我知道了一些 Python 的技巧之后,直接驚嘆“臥槽,還能這樣搞?!”)

元素互換

之前,我們?cè)诮o a 和 b 交換值時(shí),通常的操作是:

a = 10b = 5temp = aa = bb = temp

Python 將這一操作簡(jiǎn)單化了

a = 10b = 5a,b = b,a

列表解析

列表解析是 Python 迭代機(jī)制的一種騷操作。有這樣一個(gè)任務(wù),給定一個(gè)由正整數(shù)組成的 list,然后刪除里面的偶數(shù)。比如a = [1,2,3,4,5,6,8],注意這里我很騷的取了[1,2,3,4,5,6,8]而不是[1,2,3,4,5,6,7]。你會(huì)怎么做?

a = [1,2,3,4,5,6,8]for item in a: if item%2==0: a.remove(item)

輸出是[1,3,5,8],并沒有成功,是不是?如果你拿[1,2,3,4,5,6,7]作為例子,返回的結(jié)果確實(shí)是你想要的結(jié)果,但是那只是巧了。

python 怎么做呢?

a = [1,2,3,4,5,6,8]a = [item for item in a if item%2 != 0]

是不是騷的很?

Counter

from collections import Countera = ['a', 'a', 'a', 'b', 'b', 'c']ptiny(dict(Counter(a)))

輸出為:

{'a': 3, 'b': 2, 'c': 1}

Counter 可以幫助我們自動(dòng)的去統(tǒng)計(jì)一個(gè) list 中各個(gè)元素的個(gè)數(shù)。這個(gè)在哪里常用呢?在我們 NLP 中統(tǒng)計(jì)詞頻時(shí)會(huì)經(jīng)常用到,至少筆者是喜歡用這個(gè)函數(shù)的。

zip 函數(shù)

先上代碼:

a = [1,2,3]b = ['a','b','c']for x, y in zip(a,b): print (x, y)

輸出為

1 a2 b3 c

這個(gè)有什么用呢?在用 Python 做深度學(xué)習(xí)或機(jī)器學(xué)習(xí)時(shí),需要構(gòu)造訓(xùn)練樣本和標(biāo)簽,那么我們有時(shí)可能會(huì)逐條獲取一條訓(xùn)練數(shù)據(jù),通過迭代 zip,就能一條一條的成對(duì)取出數(shù)據(jù)了。當(dāng)然了,zip()中可以添加任意多個(gè)可迭代的元素,不僅僅限于例子中的兩個(gè)。

exec

這是我接觸 Python 以來,見到的最騷最騷的操作了,而且是我在學(xué)習(xí) java 時(shí)就夢(mèng)寐以求的操作:我希望我能動(dòng)態(tài)輸入一段代碼(字符串),然后程序可以運(yùn)行之。學(xué)過 java 的人都知道,這是不行的,但是尼瑪 python 就行。

code = """from collections import Countera = ['a', 'a', 'a', 'b', 'b', 'c']print(dict(Counter(a)))"""exec(code)

大家可以試一下,真的可以。騷出天際了。

當(dāng)然了,你的確可以通過動(dòng)態(tài)輸入的方式,讓其運(yùn)行字符串代碼,比如:

code = input()

然后你輸入from collections import Counter; a = ['a', 'a', 'a', 'b', 'b', 'c']; print(dict(Counter(a)))輸入的字符串中,每一句代碼之間用分號(hào);分割,這一點(diǎn)和 java 們很像。然后再運(yùn)行

exec(code)

會(huì)得到同樣的結(jié)果。這個(gè)操作大家在用 python 做科學(xué)計(jì)算的時(shí)候,可能用不到,但是當(dāng)你用 python 寫項(xiàng)目的時(shí)候,可能就能派上用場(chǎng)了。

怎么樣,python 的這些騷操作,你都了解了嗎?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2124

    瀏覽量

    77139
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8554

    瀏覽量

    136979
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4877

    瀏覽量

    90071

原文標(biāo)題:騷操作又來了,實(shí)用的python“奇技淫巧”

文章出處:【微信號(hào):AI_shequ,微信公眾號(hào):人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    關(guān)于無框電機(jī)這些知識(shí)了解嗎?

    Motor)是一種特殊設(shè)計(jì)的電機(jī),相對(duì)于傳統(tǒng)的伺服電機(jī),沒有確定的固定單元,可以自由地適配不同客戶的外殼、軸承以及反饋裝置等部件的集成安裝 。 無框電機(jī)的組成 無框電機(jī)由獨(dú)立的轉(zhuǎn)子和定子部件組成,這些部件分別安裝到機(jī)械設(shè)備中,以將扭矩
    的頭像 發(fā)表于 12-23 08:33 ?515次閱讀

    沒有專利的opencv-python 版本

    /SURF),且這些算法的專利已陸續(xù)過期(SIFT 2020 年過期,SURF 多數(shù)地區(qū)已過期)。 以下是 完全無專利風(fēng)險(xiǎn)、適配不同場(chǎng)景的 OpenCV 版本推薦,結(jié)合Python 3.13.9
    發(fā)表于 12-13 12:37

    網(wǎng)絡(luò)接口:數(shù)字世界的“門鈴”,了解多少?

    ,還能為選擇適合的網(wǎng)絡(luò)解決方案奠定基礎(chǔ)。在萬物互聯(lián)的時(shí)代,這些基礎(chǔ)知識(shí)顯得愈發(fā)重要。 希望這篇簡(jiǎn)單的介紹能幫助大家對(duì)網(wǎng)絡(luò)接口有基本的了解。我始終相信,了解技術(shù)細(xì)節(jié)能讓客戶做出更明智的選擇。如果
    發(fā)表于 11-26 18:53

    別讓小疏忽釀成大風(fēng)險(xiǎn),這些補(bǔ)丁誤區(qū)避開了嗎?

    補(bǔ)丁管理始終是維護(hù)系統(tǒng)安全與穩(wěn)定的核心環(huán)節(jié),它能確保操作系統(tǒng)、應(yīng)用程序及終端設(shè)備時(shí)刻保持最新狀態(tài),獲取最新的安全防護(hù)與功能支持。這一關(guān)鍵環(huán)節(jié)中的細(xì)微疏漏,往往成為引爆安全危機(jī)的導(dǎo)火索,可能讓企業(yè)直面
    的頭像 發(fā)表于 11-12 17:02 ?1240次閱讀
    別讓小疏忽釀成大風(fēng)險(xiǎn),<b class='flag-5'>這些</b>補(bǔ)丁誤區(qū)<b class='flag-5'>你</b>避開<b class='flag-5'>了嗎</b>?

    一文了解Mojo編程語言

    和 MLIR(多級(jí)中間表示)技術(shù),Mojo 的性能接近 C++,甚至在某些任務(wù)中比 Python 快數(shù)萬倍。 支持直接操作硬件資源,如內(nèi)存管理和 SIMD(單指令多數(shù)據(jù))指令,適合高性能計(jì)算需求。 系統(tǒng)級(jí)
    發(fā)表于 11-07 05:59

    高壓清洗機(jī)安全嗎?使用前這些必須了解!

    的高壓清洗機(jī),旨在為大家的清潔工作提供便利。然而,很多人對(duì)于高壓清洗機(jī)的安全性及正確使用方法存在疑惑。今天我們就來一探究竟,了解高壓清洗機(jī)的安全性以及使用過程中需要
    的頭像 發(fā)表于 10-27 17:23 ?399次閱讀
    高壓清洗機(jī)安全嗎?使用前<b class='flag-5'>這些</b><b class='flag-5'>你</b>必須<b class='flag-5'>了解</b>!

    負(fù)載開關(guān)IC的具體功能操作

    在之前的課程里,我們已經(jīng)了解了負(fù)載開關(guān)IC的一些實(shí)用功能,這些知識(shí)為我們?cè)趯?shí)際設(shè)計(jì)中運(yùn)用負(fù)載開關(guān)IC提供了思路。今天,芝子將帶著大家更進(jìn)一步,詳細(xì)探討負(fù)載開關(guān)IC的具體功能操作
    的頭像 發(fā)表于 09-19 17:57 ?3441次閱讀
    負(fù)載開關(guān)IC的具體功能<b class='flag-5'>操作</b>

    termux調(diào)試python猜數(shù)字游戲

    ;: guess_number() print(\"\\n? 輸入 \'python guess_number.py\' 重新開始游戲\") ``` --- ? 三、操作指南 1.
    發(fā)表于 08-29 17:15

    PCB扇孔全攻略|這些設(shè)計(jì)細(xì)節(jié),新手和老手容易忽略!

    如果做過PCB設(shè)計(jì),一定遇到過這些場(chǎng)景——BGA走線順暢,卻在測(cè)試中高速鏈路丟包;多層板做出來卻翹曲變形;焊接時(shí)良率一落千丈……這些問題,很多時(shí)候不是芯片問題,也不是板廠工藝問題,
    的頭像 發(fā)表于 08-20 07:34 ?5531次閱讀
    PCB扇孔全攻略|<b class='flag-5'>這些</b>設(shè)計(jì)細(xì)節(jié),新手和老手<b class='flag-5'>都</b>容易忽略!

    基礎(chǔ)篇3:掌握Python中的條件語句與循環(huán)

    Python編程語言中,條件語句和循環(huán)是構(gòu)成復(fù)雜邏輯和數(shù)據(jù)處理的基石。本篇基礎(chǔ)教程將幫助您深入了解Python中的條件語句和循環(huán)結(jié)構(gòu),讓您能夠更好地控制程序流程。 條件語句 條件語句允許程序根據(jù)
    發(fā)表于 07-03 16:13

    所以做出來了嗎

    所以做出來了嗎,求
    發(fā)表于 06-16 01:43

    python入門圣經(jīng)-高清電子書(建議下載)

    此資料內(nèi)容是一本針對(duì)所有層次的Python 讀者而作的Python 入門電子書。 全書分兩部分:第一部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumP
    發(fā)表于 04-10 16:53

    ?如何在虛擬環(huán)境中使用 Python,提升的開發(fā)體驗(yàn)~

    RaspberryPiOS預(yù)裝了Python,需要使用其虛擬環(huán)境來安裝包。今天出版的最新一期《TheMagPi》雜志刊登了我們文檔負(fù)責(zé)人NateContino撰寫的一篇實(shí)用教程,幫助你入門
    的頭像 發(fā)表于 03-25 09:34 ?817次閱讀
    ?如何在虛擬環(huán)境中使用 <b class='flag-5'>Python</b>,提升<b class='flag-5'>你</b>的開發(fā)體驗(yàn)~

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    在這篇文章中,我將為簡(jiǎn)要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運(yùn)行一個(gè)簡(jiǎn)單的Python程序。什么是
    的頭像 發(fā)表于 03-25 09:27 ?2056次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行<b class='flag-5'>Python</b>程序?

    采購GUTOR UPS備品備件,隱藏的“雷區(qū)” 了解嗎?

    在GUTOR UPS備品備件采購之路上,困難重重,選型、渠道甄別、成本把控、安裝部署、售后保障,樁樁件件都是棘手難題。隱藏的“雷區(qū)” 了解嗎?
    發(fā)表于 03-21 16:08