python generator长度_python:如何在列表生成器表达式中获取列表长度?(python: how to get list length in list generator expre...

本文探讨了在Python中如何在列表生成器表达式中获取元素数量,以实现类似限制列表长度的功能。提供了使用`itertools.count()`和`enumerate()`两种Pythonic的解决方案,并解释了它们的工作原理。
摘要由CSDN通过智能技术生成

python:如何在列表生成器表达式中获取列表长度?(python: how to get list length in list generator expression?)

也许这样(只是一个伪代码)

li = [1,2,3,4,5,6]

a = [d for d in li if self.length<3]

print a

[1,2]

什么是pythonic方式来做那件事?

Maybe like this (just a pseudocode)

li = [1,2,3,4,5,6]

a = [d for d in li if self.length<3]

print a

[1,2]

What is a pythonic way to do that thing?

原文:https://stackoverflow.com/questions/39973542

更新时间:2020-03-22 14:03

最满意答案

您可以使用itertools.count()来跟踪您使用的元素数量:

from itertools import count

li = [1,2,3,4,5,6]

c = count(1) # initialize to 1

a = [d for d in li if next(c) < 3] # everytime you add an element

print (a) # in the comprehension `c` is incremented

它跟踪添加到列表中的元素,因此列表的长度给出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值