【问题标题】:Python- How To Remove Elements From a List Containing a Specific WordPython-如何从包含特定单词的列表中删除元素
【发布时间】:2021-07-20 10:43:27
【问题描述】:

我想从包含关键字的列表中删除元素。

例如-

list1= [ 'one', 'one-test', 'two', 'two-test', 'three', 'three-test']

我想删除此列表中包含“-test”的所有元素。

所以最终的输出应该是-->

list1= ["one", "two", "three"] #because if it contained '-test' we just deleted the element as a whole

【问题讨论】:

    标签: python list arraylist


    【解决方案1】:

    使用列表推导,我们可以轻松实现这一目标。同样使用in,我们可以检查关键字是否在给定列表的任何元素中。

    list1= [ 'one', 'one-test', 'two', 'two-test', 'three', 'three-test']
    newList = [elements for elements in list1 if '-test' not in elements]
    

    输出

    ['one', 'two', 'three']
    

    【讨论】:

      【解决方案2】:

      使用list comprehension,在迭代过程中检查列表元素是否包含-test

      remove = '-test'
      list1= [ 'one', 'one-test', 'two', 'two-test', 'three', 'three-test']
      [x for x in list1 if remove not in x]
      #['one', 'two', 'three']
      

      【讨论】:

        【解决方案3】:

        最简单的方法是

        list1= [ 'one', 'one-test', 'two', 'two-test', 'three', 'three-test']
        
        for l in list1:
            if '-test' in l:
                list1.remove(l)
        list1  
        

        也可以通过列表理解来完成

        【讨论】:

          【解决方案4】:
          res = []
          for item in list1:
               if len(item.split("-")) <=1:
                    res.append(item)
          # res = ['one','two','three']
          

          您可以使用新数组并拆分给定数组。追加满足条件的值。

          【讨论】:

            猜你喜欢
            • 2021-10-27
            • 1970-01-01
            • 2015-11-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-10-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多