相关疑难解决方法(0)

Python字典:键()和值()总是相同的顺序?

它看起来像返回的列表keys()values()字典的方法总是一对一的映射(假设字典在调用2方法之间没有改变).

例如:

>>> d = {'one':1, 'two': 2, 'three': 3}
>>> k, v = d.keys(), d.values()
>>> for i in range(len(k)):
    print d[k[i]] == v[i]

True
True
True
Run Code Online (Sandbox Code Playgroud)

如果你不改变调用keys()和调用之间的字典values(),假设上面的for循环总是打印True是错误的吗?我找不到任何证明这一点的文件.

python

285
推荐指数
6
解决办法
9万
查看次数

从字典列表中删除重复项python

我正在尝试从以下列表中删除重复项

 distinct_cur = [{'rtc': 0, 'vf': 0, 'mtc': 0, 'doc': 'good job', 'foc': 195, 'st': 0.0, 'htc': 2, '_id': ObjectId('58e86a550a0aeff4e14ca6bb'), 'ftc': 0}, 
 {'rtc': 0, 'vf': 0, 'mtc': 0, 'doc': 'good job', 'foc': 454, 'st': 0.8, 'htc': 1, '_id': ObjectId('58e8d03958ae6d179c2b4413'), 'ftc': 1},
 {'rtc': 0, 'vf': 2, 'mtc': 1, 'doc': 'test', 'foc': 45, 'st': 0.8, 'htc': 12, '_id': ObjectId('58e8d03958ae6d180c2b4446'), 'ftc': 0}] 
Run Code Online (Sandbox Code Playgroud)

基于以下条件的字典:如果'doc'键值文本相同,则应删除其中一个字典。我尝试了以下解决方案

distinct_cur = [dict(y) for y in set(tuple(x.items()) for x in cur)] 
Run Code Online (Sandbox Code Playgroud)

但最终列表中仍存在重复项。

以下是所需的输出,如键“ doc”值的第一个和第二个distinct_cur文本相同(很好):

[{'rtc': 0, 'vf': 0, 'mtc': 0, …
Run Code Online (Sandbox Code Playgroud)

python

4
推荐指数
2
解决办法
2404
查看次数

标签 统计

python ×2