【问题标题】:Detecting the last Iteration in a loop [duplicate]检测循环中的最后一次迭代[重复]
【发布时间】:2018-02-06 11:45:31
【问题描述】:

我有一个单词,我想从单词中拆分出每个字符。我使用 FOR IN 循环来分割字符。在拆分期间,我想检测第一个和最后一个字符。我使用一个变量 count 并且 count 被初始化为 0。如果 count=1 那么它是第一个字符。但类似地,如何在 python 中检测 FOR IN 循环中的最后一个字符

    count=0;
    for w in word:
        count++
        if count==1:
            #first character

【问题讨论】:

    标签: python loops iteration


    【解决方案1】:

    为什么不直接使用enumerate?就是为了这个目的。

    for i, w in enumerate(word):
        if i in {0, len(word)-1}:
            ... # do something
    

    您现在可以摆脱count 变量。

    【讨论】:

    • 为什么不使用if i == len(word)-1
    • @Florent 他们想检测第一个和最后一个字符。
    【解决方案2】:
    if count == len(word):
       #last 
    

    【讨论】:

      【解决方案3】:

      如果只想获取第一个和最后一个字符,可以使用第一个和最后一个索引。

      s = 'word'
      s[0] >>> 'w'
      s[-1] >>> 'd'
      

      【讨论】:

      • 不是一个好主意。如果最后一个字符存在于其他地方,你会提前中断。
      猜你喜欢
      • 1970-01-01
      • 2018-12-30
      • 2016-08-25
      • 1970-01-01
      • 2019-06-04
      • 2013-03-18
      • 2019-11-30
      • 2011-07-11
      • 2011-08-30
      相关资源
      最近更新 更多