【问题标题】:how to remove all elements in a python list which are less than a particular number of charecters如何删除python列表中小于特定字符数的所有元素
【发布时间】:2021-05-05 10:47:36
【问题描述】:

如何删除列表中少于特定字符数的所有元素?我们有一个包含 50 个元素的列表。我正在尝试删除少于 30 个字符的所有元素。 我尝试使用 my_list.remove 但它不起作用。

元素是字符串,我正在尝试删除少于 20 个字符或字母的元素数量

【问题讨论】:

标签: python python-3.x database list python-requests


【解决方案1】:

你可以试试这个:

list1 = ['1', '2', '3' ...]
if len(list1)>50:
     number = len(list1)-50
     print(list1[number:])

【讨论】:

    【解决方案2】:

    迭代时不能删除元素,你已经创建了一个新列表。

    new_list = [x for x in old_list if len(x) > 30]
    

    即使这样也可以,因为先计算右侧,然后覆盖旧值:

    old_list = [x for x in old_list if len(x) > 30]
    

    【讨论】:

      【解决方案3】:

      这个怎么样:

      filtered = filter(lambda x: len(x)>29, my_list)
      filtered_list = list(filtered)
      

      【讨论】:

        【解决方案4】:
        example_list = ["1234", "12345", "123456", "1234567"]
        
        # Example: Only keep list elements with over 5 characters
        filtered_list = list(filter(lambda el: len(el) > 5, example_list))
        
        print(filtered_list)
        

        输出:

        ['123456', '1234567']
        

        要仅保留具有 30 个或更多元素的元素,您可以将 len(el) > 5 更改为 len(el) > 29len(el) >= 30

        【讨论】:

          【解决方案5】:

          这可能会有所帮助:

          a = ["1", " 2", "123455"]
          b = []
          for i in a:
              if len(i)>50:
                  b.append(i)
          a= b
          print(b)
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2022-07-05
            • 2016-08-16
            • 1970-01-01
            • 1970-01-01
            • 2020-05-25
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多