【问题标题】:How do I get same result without using enumerate?如何在不使用枚举的情况下获得相同的结果?
【发布时间】:2010-11-30 04:22:52
【问题描述】:

在此示例中我不需要char,但我包含它以获得我想要的结果。

charlist = [strval[0:count+1] for count, char in enumerate(strval)]

如何在不使用 enumerate 的情况下获得相同的结果?

【问题讨论】:

    标签: for-loop python enumerate


    【解决方案1】:
    xrange(len(strval))
    

    【讨论】:

    • 如果使用 Python3,只需简单的 ol' range 就足够了。
    【解决方案2】:

    如果你不想使用枚举,use range 因为你想要的只是计数值

    >>> strval = "abcd"
    >>> for count, char in enumerate(strval): print count, char
    ... 
    0 a
    1 b
    2 c
    3 d
    >>> for count in range(len(strval)): print count
    ... 
    0
    1
    2
    3
    >>>
    

    【讨论】:

    • 我现在知道 xrange 比 range 好 :)
    【解决方案3】:

    enumerate(...) 替换为zip(xrange(...),...) 怎么样?

    [strval[0:count+1] for count, char in zip(xrange(len(strval)),strval)]
    

    【讨论】:

    • char 从未使用过。问题不在于enumerate() 不可用,而是浪费精力。
    猜你喜欢
    • 2018-06-07
    • 2019-06-05
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多