Python3--列表生成式
程序员文章站
2024-01-10 21:42:40
你在使用python时,是不是遇到了这种情况,在for循环之前又加了一段代码,是不是感觉这种代码有点看不懂的感觉, 其实这是python的一个内置的强大的功能--列表生成式,它可以帮助你更好的简洁的实现代码. 举个例子: 不用列表生成式来生成一个列表 结果: [0, 1, 2, 3, 4, 5, 6 ......
你在使用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规范,提高自己的代码质量