最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

這些看起來很呆的Python編寫習(xí)慣

2023-03-22 11:56 作者:啥都會(huì)一點(diǎn)的研究生  | 我要投稿

hello我是啥都生,在這篇文章中,將介紹17個(gè)有很大改進(jìn)空間的Python編程案例,既然都用Python了,那么提供的輪子就趕緊用起來哈哈,一起看看吧~

1.使用多個(gè)打印語句

初級(jí)
如果想打印多個(gè)變量,部分人會(huì)覺得每個(gè)變量都應(yīng)該有自己的?print()?語句,哈哈哈以前我也是

進(jìn)階

使用多個(gè)打印語句尤其是新手在使用 Python 編碼時(shí)最常犯的錯(cuò)誤,其實(shí),使用print(),可以在單個(gè)打印語句中打印多個(gè)變量,如下所示:

上面的sep參數(shù)指定使用相同打印語句(上面的?a、b?和c)打印的各種變量之間的分隔符

注意,end參數(shù)用于指定print語句的結(jié)束符

在上面的代碼中,end='\n---\n'參數(shù)打印換行符,再是?---,然后是換行符

2. 使用Print語句代替日志記錄模塊

在小型項(xiàng)目中可能無關(guān)緊要,我自己也是喜歡print,但值得一提的是大型項(xiàng)目中日志就太重要了

初級(jí)

進(jìn)階

3.使用for循環(huán)打印相同的變量

初級(jí)

如標(biāo)題所述,我們的目標(biāo)是多次打印同一個(gè)變量

當(dāng)然,創(chuàng)建一個(gè)for循環(huán)打印,能說這有問題嗎,當(dāng)然沒什么問題

進(jìn)階

雖然寫一個(gè)for循環(huán)沒壞處,但沒必要,可以這樣

4.創(chuàng)建一個(gè)單獨(dú)的變量來跟蹤循環(huán)中的索引

初級(jí) - 1

為實(shí)現(xiàn)這一點(diǎn),通常會(huì)定義一個(gè)新變量idx來跟蹤索引值并在每次迭代時(shí)遞增它,如下所示:

初級(jí) - 2

或者,創(chuàng)建一個(gè)range迭代器來跟蹤索引,如下:

進(jìn)階

不得不提enumerate()方法,使用此方法,可以跟蹤索引idx和值i,如下所示:

5.使用for循環(huán)將列表轉(zhuǎn)換為字符串

初級(jí)

如下所示,使用for循環(huán)一次拼接列表中的一個(gè)元素

進(jìn)階

其實(shí)將列表轉(zhuǎn)換為字符串的簡(jiǎn)便方法是使用join()方法,如下所示:

這不僅能免于編寫一些不必要的長(zhǎng)代碼,而且與 for 循環(huán)方法一樣直觀。

6.使用for循環(huán)從列表中刪除重復(fù)項(xiàng)

初級(jí)

遍歷輸入列表并將唯一元素存儲(chǔ)在新列表中

進(jìn)階

其實(shí),集合就行啦,使用一行代碼就可以從列表中刪除重復(fù)項(xiàng)

二者可以相互轉(zhuǎn)換

7.使用for循環(huán)在列表中搜索元素

初級(jí)

假設(shè)想知道某個(gè)元素是否存在于列表(或集合)中并返回布爾(如果存在則為True,否則為False

初級(jí)用法如下所示:

太復(fù)雜了

進(jìn)階

使用in關(guān)鍵字將其簡(jiǎn)化為單行實(shí)現(xiàn)

?

8.使用索引變量迭代兩個(gè)相同size的可迭代對(duì)象

初級(jí)

類似于在第4節(jié)中所提,定義一個(gè)專門用于索引的變量,在兩個(gè)size相同的列表中取值,如下所示:

進(jìn)階

進(jìn)階一點(diǎn)的方法是使用zip()函數(shù),將兩個(gè)可迭代對(duì)象中的相應(yīng)值配對(duì)

9.使用for循環(huán)反轉(zhuǎn)列表

初級(jí)

反向迭代列表并將元素添加到新列表,如下所示:

進(jìn)階

如果了解 Python 中的切片,那么一個(gè)簡(jiǎn)單的單行代碼就可以實(shí)現(xiàn)(其實(shí)內(nèi)置方法等都可以實(shí)現(xiàn))

10.使用for循環(huán)計(jì)算可迭代對(duì)象中元素的出現(xiàn)次數(shù)

初級(jí)

查找元素頻率的簡(jiǎn)單方法是使用for循環(huán)遍歷列表并計(jì)算次數(shù)

進(jìn)階

其實(shí)可以使用count()方法:

同樣的,也可以在字符串中使用:

11.使用for循環(huán)獲取字符串的子字符串

初級(jí)

這里的目標(biāo)是返回一個(gè)長(zhǎng)度為n_chars的子串,從位置start_index開始

很多人解決這個(gè)問題的方法是使用for循環(huán),如下所示:

進(jìn)階

單行方法是使用切片,這樣可以避免編寫for循環(huán)

12.定義長(zhǎng)整型常量

假設(shè)想聲明一個(gè)值為 1021 的整型變量

初級(jí)

很多情況下,會(huì)連續(xù)寫入零并在鍵入時(shí)進(jìn)行計(jì)數(shù)

但是別人若要參考這段代碼,就得把所有的零都數(shù)一遍,當(dāng)場(chǎng)去世

進(jìn)階

為提高可讀性,可以用_(下劃線)分隔,如下:

但這仍然很麻煩,還是要數(shù)零。

如果數(shù)字能以?a^b?的形式表示,則可以改用?pow()方法,或者科學(xué)計(jì)數(shù)法

13.使用if條件更改字符串的大小寫

給定一個(gè)字符串,目標(biāo)是將大寫字母變?yōu)樾懀粗嗳?/p>

初級(jí)

檢查每個(gè)元素的情況,然后為每個(gè)情況設(shè)置特定條件

進(jìn)階

可以改用swapcase()方法

14.獲得兩個(gè)集合的并集

初級(jí)

迭代這兩個(gè)集合并將元素添加到一個(gè)新集合中

進(jìn)階

Python 為兩個(gè)集合的并集提供了union()方法

更重要的是,可以將其擴(kuò)展到任意數(shù)量的輸入集:

想象一下,需要編寫多少個(gè)for循環(huán)來合并這四個(gè)集合,同樣的集合還有求補(bǔ)、交等等便捷內(nèi)置方法

15.更改列表中所有元素的數(shù)據(jù)類型

給定一個(gè)表示整數(shù)的字符串列表,目標(biāo)是通過更改數(shù)據(jù)類型將它們轉(zhuǎn)換為整數(shù)列表

初級(jí)

循環(huán)遍歷列表并對(duì)單個(gè)元素進(jìn)行類型轉(zhuǎn)換

進(jìn)階

使用map(),如下所示:

作為其第一個(gè)參數(shù),map()方法接受一個(gè)函數(shù)?int,第二個(gè)參數(shù)是一個(gè)可迭代對(duì)象?input_list

16.交換變量

給定兩個(gè)變量,目標(biāo)是將第一個(gè)變量的值傳遞給第二個(gè)變量,將第二個(gè)變量的值傳遞給第一個(gè)變量

初級(jí)

大多數(shù)寫慣了 C/C++ 的程序員采用的方法是定義一個(gè)新變量temp

進(jìn)階

而Python 允許在單個(gè)語句中進(jìn)行多次賦值,從而消除對(duì)臨時(shí)變量的需要,就是解包啦,之前教程都有說過

17.使用嵌套循環(huán)生成兩個(gè)列表的所有組合

給定兩個(gè)列表(a的長(zhǎng)度為?n,b的長(zhǎng)度為m),生成所有n*m結(jié)構(gòu)

初級(jí)

編寫兩個(gè)嵌套的for循環(huán)并將所有組合添加到列表中

進(jìn)階

使用 itertools 庫中的product()方法,如下所示:

事實(shí)上包括我在內(nèi),以前很多時(shí)候都習(xí)慣于用for循環(huán)等解決問題,其實(shí)就是對(duì)內(nèi)置函數(shù)/方法不熟悉~

以上內(nèi)容有任何錯(cuò)誤歡迎指出,我是啥都生,下期再見


這些看起來很呆的Python編寫習(xí)慣的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
玉林市| 松滋市| 政和县| 西平县| 大石桥市| 娄底市| 莲花县| 永丰县| 白玉县| 东丽区| 浮梁县| 嫩江县| 鹤山市| 黄大仙区| 郯城县| 萨嘎县| 宿州市| 汤原县| 新安县| 汤阴县| 乾安县| 理塘县| 长治市| 清原| 中宁县| 博兴县| 渑池县| 柳州市| 曲麻莱县| 集安市| 伊川县| 辽中县| 巴南区| 蓬莱市| 博湖县| 德钦县| 陆河县| 西华县| 罗甸县| 夏邑县| 苗栗县|