欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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