Python3--列表生成式


你在使用python時,是不是遇到了這種情況,在for循環之前又加了一段代碼,是不是感覺這種代碼有點看不懂的感覺,

其實這是python的一個內置的強大的功能--列表生成式,它可以幫助你更好的簡潔的實現代碼.

舉個例子:

不用列表生成式來生成一個列表

##################### 不使用列表生成式 #####################################
list = []
for i in range(9):
    list.append(i)
print(list)

結果: [0, 1, 2, 3, 4, 5, 6, 7, 8]

使用列表生成式來生成一個列表

##################### 使用列表生成式 #####################################

list = [i for i in range(9)]
print(list)

結果: [0, 1, 2, 3, 4, 5, 6, 7, 8]

對比這兩種結果,你的直觀感覺會覺得使用了列表生成式會一眼明了的看到了結果,很簡潔明了.

如此,我們還可以進行一些簡單的運算:

list = [i*i for i in range(9)]
print(list)

結果: [0, 1, 4, 9, 16, 25, 36, 49, 64]

我們還可以進行一些簡單的邏輯運算,比如對列表中的字符串進行小寫轉大寫操作:

##################### 使用列表生成式把列表中的字符串轉換成大寫 #####################################

liststr = ["Helloworld","abcd","xiao","Li","123"]
listbigstr = [smallstr.upper() for smallstr in liststr if isinstance(smallstr,str)]
print(listbigstr)

結果: ['HELLOWORLD', 'ABCD', 'XIAO', 'LI', '123']

如此的書寫代碼,更好的增加了代碼的可閱讀性,也符合python規范,提高自己的代碼質量

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM