猿问

将字典中的所有列表相互比较

在python中是否可以比较以下结构中的所有对象


我有一个列表字典,每个列表中都有对象,例如


[

      [object1,object2,object3],

      [object4,object5,object6],

      [object7,object8,object9],

]

我想通过每个列表中的属性将所有对象相互比较,并确定每个列表中没有哪些对象。


根据反馈,请参阅下面的示例


from collections import defaultdict

from pprint import pprint


class mytest:

  def __init__(self, no, description):

    self.no = no

    self.description = description


data = []



x = mytest(1,'test1')

x2 = mytest(2,'test1')


x3 = mytest(1,'test2')

x4 = mytest(2,'test2')

x5 = mytest(3,'test2')



x6 = mytest(1,'test3')

x7 = mytest(2,'test3')

x8 = mytest(4,'test3')



data.append(x)

data.append(x2)

data.append(x3)

data.append(x4)

data.append(x5)

data.append(x6)

data.append(x7)

data.append(x8)



groups = defaultdict(list)


for obj in data:

    groups[obj.description].append(obj)


new_list = groups.values()



#i want to find out what items are not in each list

for list in new_list:

    pprint(list)



#example x8 = mytest(4,'test3') is only in one of the list so is missing from list 1 and 2

希望这会有所帮助


繁星coding
浏览 172回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答