从两个二维列表中的第二个列表中获取唯一值

2024-03-29 13:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我问到如何从我的old post中的两个列表中找到不重复的项,并得到了答案。你知道吗

我现在意识到我有一个不同的要求,但不能适应我的代码或我得到的答案。你知道吗

我有两个列表,例如

List1= [[1,2],[3,5],[4,4],[5,7]]
List2= [[1,3],[4,4],[3,5],[3,5],[5,6]]
Result= [[1,3],[5,6]]

我只需要第二个列表中的唯一值(而不是两个)

我的剧本:

def filter2dim(firstarray, secondarray):
    unique = []
    for i in range(len(firstarray)):
       temp=firstarray[i]
       for j in range(len(secondarray)):
           if(temp == secondarray[j]):
              break
           elif(j==(len(secondarray)-1)):
               unique.append(temp)
    for i in range(len(secondarray)):
       temp=secondarray[i]
       for j in range(len(firstarray)):
           if(temp == firstarray[j]):
              break
           elif(j==(len(firstarray)-1)):
               unique.append(secondarray[i])
    return unique

这并不是我想要的-有人能建议我怎么做,使它只返回第二个列表所特有的值吗?你知道吗


Tags: 答案in列表forlenifrangetemp
1条回答
网友
1楼 · 发布于 2024-03-29 13:17:25

好的,如果我提出了一个问题,很抱歉,但是在实施
之后,我找到了一个答案

    a = {(1,2),(3,5),(4,4),(5,7)}
    b = {(1,3),(4,4),(3,5),(3,5),(5,6)}
    print(a.symmetric_difference(b)) # {(1, 2), (1, 3), (5, 6), (5, 7)}


在我问的第一个问题中,我去谷歌搜索了一下对称性差异有什么作用,以及是否有其他选择,然后在下面的https://docs.python.org/2/library/sets.html中找到了答案,即a.difference(b)

    a = {(1,2),(3,5),(4,4),(5,7)}
    b = {(1,3),(4,4),(3,5),(3,5),(5,6)}
    print(a.difference(b)) # {(1, 2),(5, 7)}

    a = {(1,2),(3,5),(4,4),(5,7)}
    b = {(1,3),(4,4),(3,5),(3,5),(5,6)}
    print(b.difference(a)) # {(1,3),(5,6)}

谢谢,致以最诚挚的问候。你知道吗

相关问题 更多 >