列表推导式和相关实例

目录

 

什么是列表推导式

相关实例解析:

练习1:将lst中每一个元素进行平方后放入到一个新列表中

练习2.求出lst 中是奇数的值,然后放入到一个新列表中

练习3.求列表中所有大于2的偶数进行平方计算

练习4.将一个嵌套列表转换成一个一维列表。

练习5:现在有一列表lst = [[1,2,3],[4,5,6],[7,8,9]]要求出1/4/7  和 1/5/9 元素,思考如何取出


 

什么是列表推导式

概念:是创建新列表的一种方式,主要依赖for 循环

主要格式:变量名=【表达式for变量in列表】或者在列表后面加上if条件 (注意 不要加冒号)

执行流程:根据表达式就行运算,或者遍历列表中的内容给变量进行判断,符合的值,在进行表达式判断

注:想保存的内容放在前面

 

相关实例解析:

练习1:将lst中每一个元素进行平方后放入到一个新列表中

lst = [1, 2, 3, 4, 5, 6, 7, 8]

思路:1.想要根据格式写出新列表 ”new_list “

           2.找到表达式 i*i

           3.写出代码

new_list = [i * i for i in lst]
print(new_list)

  这样就完成了

 

练习2.求出lst 中是奇数的值,然后放入到一个新列表中

求奇数的值

    奇数无非就是不能被二整除的数(i%2==1)  所以要用的 if语句  

lst = [1, 2, 3, 4, 5, 6, 7, 8]
lst1 = [i for i in lst if i % 2 == 1]
print(lst1)  # [1, 3, 5, 7]

————————————————————————————————————————————————————

练习3.求列表中所有大于2的偶数进行平方计算

注意:有两个条件语句,大于2 和 偶数(if i%2==0 and i>2 或者这样写 if i%2==0 if i>2)

lst = [1, 2, 3, 4, 5, 6, 7, 8]
new_lst = [i ** 2 for i in lst if i % 2 == 0 if i > 2]
print(new_lst) # [16, 36, 64]

练习4.将一个嵌套列表转换成一个一维列表。

lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 转换成 lst2=[1,2,3,4,5,6,7,8,9]

new_lista = [i for lst1 in lst for i in lst1]  # 在for lst1 in lst 中进行二次循环 i
print(new_lista)

练习5:现在有一列表lst = [[1,2,3],[4,5,6],[7,8,9]]要求出1/4/7  和 1/5/9 元素,思考如何取出

  要根据索引取值(range(len(lst))):分别为【0】【1】【2】

首先取 1,4,7 这个规律很简单,都在索引的第一位 也就是下标【0】

得出   new_sss = [lst[i][0] for i in range(len(lst))]

再看 1,5,9 它们的规律就是【0】【0】,【1】【1】,【2】【2】可以直接用两个 表示

得出      new_xxx = [lst[i][i] for i in range(len(lst))]

实现代码就是:

new_sss = [lst[i][0] for i in range(len(lst))]
new_xxx = [lst[i][i] for i in range(len(lst))]
print(new_sss ,'和', new_xxx)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值