python字典中文键值对重复_使用python在单个列表中循环多个字典以查找相似的键值对...

本文介绍了一个Python新手尝试比较MongoDB集合中读取的多个字典,以寻找相同键值对的问题。代码示例展示了如何遍历列表并找出第一个字典与其他字典的共同键值对。目前的代码只比较了第一个字典与其余字典,但目标是实现所有字典之间的相互比较。
摘要由CSDN通过智能技术生成

我是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)

列表“x”包含以下内容:

[{'_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}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值