python 列表生成式
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。可以通过一个list推导出另一个list,而代码却十分简洁
如下面的代码,将列表中的字符串变成小写的,不是字符串的直接输出
1、循环实现
L = ['APPLE','BANana',18,'CC'] L1 = [] #新列表 for i in L: if isinstance(i,str): #判断一个变量是不是字符串 L1.append(i.lower()) else: L1.append(i) print(L1)
2、使用列表生成式实现
L = ['APPLE','BANana',18,'CC'] #使用列表生成式将上面list中的字符全部转为小写 L2=[x.lower() for x in L if isinstance(x,str)] #不是字符串的不会输出 L2=[x.lower() if isinstance(x,str) else x for x in L] #生成式需要做if-else判断时,if语句写在中间. print(L2)
特别注意,列表生成式需要if-else判断时,判断语句写在中间
其他可参考:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681963899940a998c0ace64bb5ad45d1b56b103c48000