Я новичок в Python и хочу сравнить несколько словарей, присутствующих в списке, и найти похожие пары значений ключей. Список создается путем чтения коллекции из mongodb.Ниже приведен код, который я пробовал, но он сравнивает первый словарь с другими словарями.Я хочу, чтобы их всех сравнивали друг с другом.Может кто-нибудь, пожалуйста, помогите.
import json
import pandas as pd
from pymongo import MongoClient
try:
client = MongoClient()
print("Connected successfully!!!")
except:
print("Could not connect to MongoDB")
# database
db = client.conn
collection = db.contactReg
df = collection.find()
x = []
for row in df:
x.append(row)
print(x)
common = {}
for k in x[0]:
for i in range(1,len(x)):
if x[0][k] != x[i][k]: continue
common[k] = x[i][k]
print(common)
Список «х» состоит из следующего:
[{'_id': ObjectId('5bbc86e5c16a27f1e1bd39f8'), 'name': 'swetha', 'nameId':
123.0, 'source': 'Blore', 'sourceId': 10, 'LastUpdate': '10-Oct-2018'},
{'_id': ObjectId('5bbc86e5c16a27f1e1bd39f9'), 'name': 'swetha', 'nameId':
123.0, 'source': 'Mlore', 'sourceId': '11', 'LastUpdate': '11-Oct-2018'},
{'_id': ObjectId('5bbc86e5c16a27f1e1bd39fa'), 'name': 'swathi', 'nameId':
124.0, 'source': 'Mlore', 'sourceId': '11', 'LastUpdate': '9-Oct-2018'}]
ВЫВОД выглядит следующим образом:
[{'_id': ObjectId('5bbc86e5c16a27f1e1bd39f8'), 'name': 'swetha', 'nameId':
123.0, 'source': 'Blore', 'sourceId': 10.0, 'LastUpdate': '10-Oct-2018'},
{'_id': ObjectId('5bbc86e5c16a27f1e1bd39f9'), 'name': 'swetha', 'nameId':
123.0, 'source': 'Mlore', 'sourceId': '11', 'LastUpdate': '11-Oct-2018'},
{'_id': ObjectId('5bbc86e5c16a27f1e1bd39fa'), 'name': 'swathi', 'nameId':
124.0, 'source': 'Mlore', 'sourceId': '11', 'LastUpdate': '9-Oct-2018'}]
common: {'name': 'swetha', 'nameId': 123.0}