码迷,mamicode.com
首页 > 其他好文 > 详细

day14 列表推导式

时间:2018-06-20 18:40:17      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:条件   count   bsp   推导   构造   mes   分类   ble   元素   

列表推导式

优点:

1,节省代码,一行搞定.
2看着高大上.
缺点:
不好排错.

凡是用列表推导式构造的列表对象,用其他方式都可构建.,非常复杂的列表,列表推导式是构建不出的.

 

分类:
[变量(加工后的变量) for 变量 in iterable] 循环模式
[变量(加工后的变量) for 变量 in iterable if 条件] 筛选模式

#用for循环写
#写1到14 li=[] for i in range(1,14): li.append(i) print(li) #用列表推导式写 l1=[i for i in range(1,14)] print (l1)

 

l1=["python%s期"  %  i for i in range(1,5)]
print(l1)
# 结果:[‘python1期‘, ‘python2期‘, ‘python3期‘, ‘python4期‘]

 

# 能被3整除的数
l1 = [i for i in range(1, 31) if i % 3 == 0]
print(l1)

 

# 10以内所有数的平方
print([i*i for i in range(11)])

 

# 30以内所有能被3整除的数的平方
print([i**2 for i in range(31) if i % 3 == 0])

 

筛选模式

li=["python%s期"  %  i for i in range(1,14) if i%2==0]
print(li)
# 写出元素里面有两个e的
names = [[Tom, Billy, Jefferson, Andrew, Wesley, Steven, Joe],
         [Alice, Jill, Ana, Wendy, Jennifer, Sherry, Eva]]
# 用筛选模式写
l2=[name for i in names  for name in i if name.count("e")==2]
print(l2)

# 用for循环写
li=[]
for i in names:
    for name in i:
        if name.count("e")==2:
            li.append(name)
print (li)

 

day14 列表推导式

标签:条件   count   bsp   推导   构造   mes   分类   ble   元素   

原文地址:https://www.cnblogs.com/hdy19951010/p/9204351.html

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