你在使用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規范,提高自己的代碼質量