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

posted @ 2018-12-03 11:09  blueteer  阅读(181)  评论(0编辑  收藏  举报