sách gpt4 ăn đã đi

python - 获取两个字典列表之间的差异(增量)

In lại Tác giả: IT Lão Cao 更新时间:2023-10-28 20:49:32 29 4
mua khóa gpt4 giày nike

我有以下 Python 数据结构:

data1 = [{'name': u'String 1'}, {'name': u'String 2'}]
data2 = [{'name': u'String 1'}, {'name': u'String 2'}, {'name': u'String 3'}]

我正在寻找获得两个列表之间差异的最佳方法。 Python 中有没有像 JavaScript Underscore.js (_.difference) 库一样方便的东西?

câu trả lời hay nhất

Thế này thì sao:

>>> [x for x in data2 if x not in data1]
[{'name': u'String 3'}]

biên tập:

如果您需要对称差异,您可以使用:

>>> [x for x in data1 + data2 if x not in data1 or x not in data2]

hoặc

>>> [x for x in data1 if x not in data2] + [y for y in data2 if y not in data1]

再修改一次

你也可以使用集合:

>>> from functools import reduce
>>> s1 = set(reduce(lambda x, y: x + y, [x.items() for x in data1]))
>>> s2 = set(reduce(lambda x, y: x + y, [x.items() for x in data2]))

>>> s2.difference(s1)
>>> s2.symmetric_difference(s1)

关于python - 获取两个字典列表之间的差异(增量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19755376/

29 4 0
Cựu chiến binh CNTT
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress