【问题标题】:removing elements incrementally from a list从列表中增量删除元素
【发布时间】:2010-05-19 10:59:16
【问题描述】:

我有一个浮点数列表,我想逐步删除 给定索引范围内的一组元素,某事。喜欢:

for j in range(beginIndex, endIndex+1):
   print ("remove [%d] => val: %g" % (j, myList[j]))
   del myList[j]

但是,由于我正在遍历同一个列表,因此索引(范围) 对新列表不再有效。 有人对如何删除元素有一些建议吗 正常吗?

祝你好运

【问题讨论】:

    标签: python list


    【解决方案1】:

    您真的需要逐步删除它们吗?

    如果没有,你可以这样做:

    del myList[beginIndex:endIndex+1]
    

    【讨论】:

      【解决方案2】:

      您可以从序列的末尾迭代到开头:

      for j in range(endIndex, beginIndex-1, -1):
          print ("remove [%d] => val: %g" % (j, myList[j]))
          del myList[j]
      

      【讨论】:

        【解决方案3】:

        这样的?

        >>> list1 = [1,2,3,4,5,6]
        >>> start, end = 2, 4
        >>> list1[:start] + list1[end:]
        [1, 2, 5, 6]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-03-05
          • 2014-12-19
          • 2013-11-25
          相关资源
          最近更新 更多