Python高级序列操作

Python中有许多Pythonic的序列操作,也许它们可以用更加基础的方式实现,但这样写往往更加简洁。

列表推导

列表推导(listcomps)是一种构建列表的快捷方式。

numbers = [2022,1,22,20,38]
numbers_1 = [bin(s) for s in numbers] # 将所有数字转换为二进制,并存入列表
numbers_2 = [hex(s) for s in numbers if s%2 == 0] # 将所有偶数数字转换为十六进制,并存入列表
print(numbers_1)
print(numbers_2)

运行结果如下:

['0b11111100110', '0b1', '0b10110', '0b10100', '0b100110']
['0x7e6', '0x16', '0x14', '0x26']

列表推导相对于之前的for循环写法,显然更加紧凑。由于列表推导支持映射变换和条件判断,我们也可以用map(映射)和filter(过滤器)来实现相似的功能。此两个函数的具体用法不在此阐述。

numbers_1 = list(map(hex,filter(lambda x:x%2==0,numbers)))

有多个列表参与推导时,将会返回它们的笛卡尔积

colors = ['black', 'white']
sizes = ['S', 'M', 'L']
result 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值