【问题标题】:How to print the items with the number less than 9, and number greater than 10?如何打印数字小于 9 和数字大于 10 的项目?
【发布时间】:2019-04-18 14:58:20
【问题描述】:

我正在编写一个程序来可视化列表中小于或大于 9 的项目。这是我制作的列表:

list = [("item1",12.5),("item",2.3),("item",7.0)]

我希望能够打印数字小于 9 的项目,然后打印数字大于 10 的项目。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    您可以使用list comprehensions,它提供了一种过滤列表的简单方法:

    l = [("item1",12.5),("item",2.3),("item",7.0)]
    [i for i in l if i[1] > 9]
    # [('item1', 12.5)]
    

    相当于下面的for循环:

    new_list = []
    for i in l:
        if i[1] > 9:
            new_list.append(i)
    print(new_list)
    # [('item1', 12.5)]
    

    或者对于小于9的值:

    [i for i in l if i[1] < 9]
    # [('item', 2.3), ('item', 7.0)]
    

    【讨论】:

      【解决方案2】:

      给定一个列表,

      L = [("item1",12.5),("item",2.3),("item",7.0)]
      

      (注意避免使用关键字list作为变量名),你可以做一个列表推导,例如:

      >>> [(item, value) for (item, value) in L if value < 9.0]
      [('item', 2.3), ('item', 7.0)]
      

      要更改条件,请更改末尾的If。

      【讨论】:

        【解决方案3】:

        循环/迭代列表中的项目

        my_list = [("item1",12.5),("item",2.3),("item",7.0)]
        
        for item in my_list:
            if item[1] < 9:  # change <9 to whatever condition you want
                print(item)  
        

        【讨论】:

          【解决方案4】:

          你可以像这样使用过滤功能:

          original_list = [("item1",12.5),("item",2.3),("item",7.0)]
          
          filtered_list = list(filter(lambda x: x[1] < 9.0, original_list))
          

          打印这个:

          print(filtered_list)
          
          [('item', 2.3), ('item', 7.0)]
          

          【讨论】:

            【解决方案5】:
            liste = [("item1",12.5),("item",2.3),("item",7.0)]
            index=0
            
            while(index<liste.__len__()):
               if liste[index][1] > 9:
                  print(liste[index])
               index=index+1
            

            【讨论】:

            • 请编辑您的答案并解释您提供的代码为何有效。
            【解决方案6】:

            将值存储在 2 个列表中

            my_list = [("item1",12.5),("item",2.3),("item",7.0)]
            
            less_than_9 = [x for x in my_list if x[1] < 9]
            more_than_9 = [x for x in my_list if x[1] > 9]
            
            >>> print(less_than_9)
            [("item1",12.5)]
            >>> print(more_than_9)
            [("item",2.3),("item",7.0)]
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2017-07-20
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-02-18
              • 1970-01-01
              相关资源
              最近更新 更多