Tôi cần so sánh hai từ điển như sau:
dic1 = {
'a': ['a1', 'a2'],
'b': ['b1', 'b2'],
'c': ['c1', 'c2']
}
dic2 = {
'a': ['a1', 'a3'],
'b': ['b1', 'b2', 'b3', 'b4']
}
Đầu ra chỉ hiển thị các mục có trong dic2 chứ không phải trong dic1, như thế này:
đầu ra = {
'a': 'a3',
'b': ['b3','b4']
}
không khớp = {
'c': ['c1','c2']
}
Tôi mới làm quen với Python nên tôi đang gặp khó khăn để làm cho nó hoạt động.
key_d1 = dic1.keys()
key_d2 = dic2.keys()
value_d1 = dic1.values()
value_d2 = dic2.values()
đầu ra = {}
không khớp = {}
đối với i, j trong zip(key_d1, value_d1):
nếu tôi ở key_d2:
nếu j không có trong value_d2:
đầu ra = ??
khác:
nomatch[i] = j
Bạn có thể làm điều này một cách đơn giản thông qua việc hiểu từ điển.
dict1 = {
'a': ['a1', 'a2'],
'b': ['b1', 'b2'],
'c': ['c1', 'c2']
}
dict2 = {
'a': ['a1', 'a3'],
'b': ['b1', 'b2', 'b3', 'b4'],
'd': ['d1', 'd2']
}
d = { key : [phần tử cho phần tử trong phần tử nếu phần tử không có trong dict1.get(key, [])]
cho khóa, phần tử trong dict2.items()
}
in (d)
Tuy nhiên, tôi nghi ngờ bạn đã mắc sai lầm trong câu hỏi của mình.
chỉ hiển thị các mục có trong dict2
nhưng không ở trong dict1
看起来像这样:
{
'a': ['a3'],
'b': ['b3', 'b4'],
'd': ['d1', 'd2']
}
Đây không phải là đầu ra mẫu bạn cung cấp.
Tôi là một lập trình viên xuất sắc, rất giỏi!