python列表表达式

本文介绍了Python列表推导式的概念和用法,通过实例展示了如何使用列表推导式创建新列表,包括条件筛选和嵌套操作。同时,文章提供了多个示例,如计算列表元素的平方、过滤正数、取绝对值以及字符串处理等,帮助读者深入理解这一高效的数据处理技巧。
  • 列表推导式的方括号内包含以下内容:
    一个表达式,后面跟一个 for 子句,然后,是零个或多个 for 或 if子句。结果是新的列表,由对表达式依据后面的 for 和 if 子句的内容进行求值计算而得出。

将两个列表中不相等的元素组合起来的不同写法:

list_1 = [(x, y) for x in [1, 2, 3] for y in [3, 1, 4] if x != y]
print(list_1)

等价于:

list _1 = []
for x in [1,2,3]:
    for y in [3,1,4]:
        if x != y:
            list _1.append((x, y))
print(list_1)

注意:

  • 上面两段代码中,for 和 if 的顺序相同。
  • 表达式是元组(例如上例的 (x, y))时,必须加上括号

一些例子:

from math import pi

vec = [-4, -2, 0, 2, 4]
list_1 = [x * 2 for x in vec]  # 条件:x * 2 
list_2 = [x for x in vec if x >= 0]  # 条件:x >= 0
list_3 = [abs(x) for x in vec]  # x的绝对值,即abs(x)
print("list_1 =", list_1)
print("list_2 =", list_2)
print("list_3 =", list_3)

freshfruit = ['  banana', '  loganberry ', 'passion fruit  ']
list_4 = [weapon.strip() for weapon in freshfruit]  
# str.strip():省略字符串头部和尾部的空格,不能省略中间的空格
print("list_4 =", list_4)

list_5 = [(x, x**2) for x in range(6)]  # 列表嵌套元组
print("list_5 =", list_5)

list_6 = [str(round(pi, i)) for i in range(1, 6)]  
print("list_6 =", list_6)
'''
round()函数是一个四舍五入的函数,但是有坑,具体看这两个链接:
https://www.runoob.com/python/func-number-round.html
https://www.runoob.com/w3cnote/python-round-func-note.html
'''

  • 本文章是我看python文档后自己整理的
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值