【问题标题】:Comparing elements of two lists in jython比较 jython 中两个列表的元素
【发布时间】:2015-11-06 16:54:41
【问题描述】:

我对编码非常陌生,不知道如何有效地比较 jython 中两个列表/数组中的元素。我有一个长度为 5 的列表和另一个长度为 0 到无穷大的列表。元素没有任何顺序。我想找出两个列表中每个元素之间的区别。所以如果 list1 = [30, 20, 50, 66, 2] 和 list2 = [6, 50, 90],我应该有 15 个输出 (len(list1)*len(list2))。我知道如何逐个比较每个元素,但我需要一种有效的方法来一次比较所有元素。我想我需要某种迭代器函数,但不知道如何实现它。

【问题讨论】:

    标签: python arrays list iterator jython


    【解决方案1】:

    This tutorial 控制流可能会有所帮助。

    list1 = [30, 20, 50, 66, 2]
    list2 = [6, 50, 90]
    
    result = []
    
    for item1 in list1:
        for item2 in list2:
            result.append( item1 - item2 )
    
    print result
    #[24, -20, -60, 14, -30, -70, 44, 0, -40, 60, 16, -24, -4, -48, -88]
    

    【讨论】:

      【解决方案2】:

      我发现列表推导更容易阅读:

      from pprint import pprint
      list1 = [30, 20, 50, 66, 2]
      list2 = [6, 50, 90]
      
      result = [[ one * two for one in list1] for two in list2]
      pprint(result)
      

      【讨论】:

        【解决方案3】:

        list comprehensions 的另一个选项:

        如果相等则一一比较

        print [x==y for x in list2 for y in list1 ]

        输出:

        [False, False, False, False, False, False, False, True, False, False, False, False, False, False, False]
        

        和打印匹配:

        print [ x for x in list2 for y in list1 if x==y ]

        输出:

        [50]
        

        【讨论】:

          【解决方案4】:

          我想应该这样做:

          list_a=[30,20,50,66,2]
          list_b=[6,50,90]
          
          for i in list_a:
              for j in list_b:
                  #compare here, i am assuming a differnce is the comparision you want to do
                  print i-j
          

          【讨论】:

          • 请注意,OP已经知道“如何通过并逐个比较每个元素”
          • 对此很抱歉,但他仍然说“我需要一个迭代器函数”,但他知道遍历每个元素并逐个比较它们........无法比较如果这是您要查找的内容,请同时查看所有项目。
          • 没有必要道歉!我只是指出您的回答(可能)并没有告诉 OP 任何新内容。
          猜你喜欢
          • 2019-12-07
          • 2020-07-04
          • 1970-01-01
          • 2014-01-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多