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

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

這些看起來很呆的Python編寫習慣

2023-03-22 15:24 作者:下班被游戲打-  | 我要投稿


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

1.使用多個打印語句

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

進階

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

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

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

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

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

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

初級

進階

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

初級

如標題所述,我們的目標是多次打印同一個變量

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

進階

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

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

初級 - 1

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

初級 - 2

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

進階

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

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

初級

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

進階

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

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

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

初級

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

進階

其實,集合就行啦,使用一行代碼就可以從列表中刪除重復項

二者可以相互轉換

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

初級

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

初級用法如下所示:

太復雜了

進階

使用in關鍵字將其簡化為單行實現(xiàn)

?

8.使用索引變量迭代兩個相同size的可迭代對象

初級

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

進階

進階一點的方法是使用zip()函數(shù),將兩個可迭代對象中的相應值配對

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

初級

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

進階

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

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

初級

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

進階

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

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

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

初級

這里的目標是返回一個長度為n_chars的子串,從位置start_index開始

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

進階

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

12.定義長整型常量

假設想聲明一個值為 1021 的整型變量

初級

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

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

進階

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

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

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

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

給定一個字符串,目標是將大寫字母變?yōu)樾?,反之亦?/p>

初級

檢查每個元素的情況,然后為每個情況設置特定條件

進階

可以改用swapcase()方法

14.獲得兩個集合的并集

初級

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

進階

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

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

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

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

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

初級

循環(huán)遍歷列表并對單個元素進行類型轉換

進階

使用map(),如下所示:

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

16.交換變量

給定兩個變量,目標是將第一個變量的值傳遞給第二個變量,將第二個變量的值傳遞給第一個變量

初級

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

進階

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

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

給定兩個列表(a的長度為?n,b的長度為m),生成所有n*m結構

初級

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

進階

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

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

以上內容有任何錯誤歡迎指出


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

分享到微博請遵守國家法律
黄冈市| 平遥县| 贡觉县| 收藏| 会同县| 澄迈县| 兴业县| 防城港市| 海城市| 潞城市| 彭阳县| 昌图县| 新巴尔虎右旗| 安多县| 宜春市| 高碑店市| 塔城市| 射阳县| 嘉义市| 大厂| 尖扎县| 汉中市| 聊城市| 吴桥县| 思南县| 涟水县| 巴青县| 新平| 班戈县| 鄂温| 永寿县| 蒙城县| 嘉义市| 墨玉县| 雅江县| 隆尧县| 平山县| 广丰县| 贡嘎县| 土默特左旗| 成武县|