码迷,mamicode.com
首页 > 编程语言 > 详细

python之高级特性

时间:2020-04-28 16:41:47      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:list   生成   没有   字符串类型   列表生成式   else   color   pre   lis   

一、列表生成式

        列表生成式是python内置的可创建list的生产式。       

r=list(range(1,11))
print(r)
运行结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

      若要生成【1*1,2*2,3*3.....,10*10】,有两种方式:a,循环;b,列表生成式。    

方法1:循环
list=[]
for x in range(1,11):
    list.append(x*x)
print(list)
------------
执行结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

方法2:
r=[x*x for x in range(1,11)]
print(r)
--------------
执行结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2、if...else

  在一个列表生成式中,for前面的if...else是表达式,for后面的if是过滤条件,不能带else. 

r=[x*x for x in range(1,11) if (x*x)%2==0]
print(r)
----------------
执行结果:
[4, 16, 36, 64, 100]

 若list中即包含字符串又包含整数,非字符串类型没有lower()方法,列表生成式会报错。其内建的isinstance函数可以判断一个变量是不是字符串。

L1=[Hello, World, 18, Apple, None]
L2=[ s.lower() for s in L1  if isinstance(s,str)]
print(L2)
------------------
执行结果:
[hello, world, apple]

 

python之高级特性

标签:list   生成   没有   字符串类型   列表生成式   else   color   pre   lis   

原文地址:https://www.cnblogs.com/balllyh/p/12795060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!