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规范,提高自己的代码质量

原文地址:https://www.cnblogs.com/weijiazheng/p/10862697.html