ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python列表推导式

2021-08-07 11:04:17  阅读:144  来源: 互联网

标签:推导 python list 生成式 list1 列表 range print 写法


  

  列表推导式

  语法解析:

     [ 程序执行完赋值给(变量x) for 变量 in range() 条件语句(if 或者 for) 变量 in range() ]  #从左到右依次执行

  

  下面我们来看一下常规的循环或者判断语句写法和列表生成式写法的几种对比

1 # 常规写法
2 list1=[]
3 for x in range(1,10):
4     list1.append(x)
5 print(list1)    #输出为 [1, 2, 3, 4, 5, 6, 7, 8, 9]
6 
7 # 列表生成式写法
8 list1=[ x for x in range(1,10) ]
9 print(list1)    #输出为 [1, 2, 3, 4, 5, 6, 7, 8, 9]
1 # 常规写法
2 list1=[]
3 for x in range(1,10):
4     list1.append(x*x)
5 print(list1)    #输出为 [1, 4, 9, 16, 25, 36, 49, 64, 81]
6 
7 #列表生成式写法
8 list1=[x*x for x in range(1,10)]
9 print(list1)    #输出为 [1, 4, 9, 16, 25, 36, 49, 64, 81]
# 常规写法
list1=[]
list=[[1,2,3],[4,5,6],[7,8,9]]
for x in list:
    for y in x:
        if y%2==0:
            list1.append(y)
print(list1)    #输出为 [2, 4, 6, 8]

# 列表生成式写法
list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list1 = [x for y in list for x in y if x % 2 == 0]
print(list1)    #输出为 [2, 4, 6, 8]
#增加if else 的列表生成式
list = [x if x % 2 == 0 else -x for x in range(1, 10)]
print(list)    #输出为 [-1, 2, -3, 4, -5, 6, -7, 8, -9]

 

    

标签:推导,python,list,生成式,list1,列表,range,print,写法
来源: https://www.cnblogs.com/AIynzy/p/15111146.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有