sách gpt4 ai đã đi

Có mô-đun Python nào để đếm tần suất của các tuple (danh sách, danh sách) không?

In lại 作者:太空宇宙 更新时间:2023-11-04 07:08:52 30 4
mua khóa gpt4 Nike

我有一个元组列表,每个元组都是一对列表。所以我的数据看起来像:

mylist = [(['foo', 'bar'], ['bar', 'bar']),(['bar', 'bar'],['bar', 'bar']),(['foo', 'bar'], ['bar', 'bar'])]

我想做这样的事情:

pprint.pprint(Counter(mylist).mostCommon(1)) # returns {(['foo', 'bar'], ['bar', bar']) : count 2}

然而,当我执行 Counter(mylist) 时,python 会抛出一个错误,“无法散列的类型列表”——就像这个问题一样。 python: unhashable type error

我知道我可以滚动自己的计数器 like here但它肯定会比 Python 慢得多。是否有任何 python 模块可以为我执行此操作?

1 Câu trả lời

如果您想按确切内容对列表进行计数,只需将列表转换为元组即可:

Counter((tuple(l1), tuple(l2)) for l1, l2 in mylist).most_common(1)

Thử nghiệm:

>>> from collections import Counter
>>> mylist = [(['foo', 'bar'], ['bar', 'bar']), (['bar', 'bar'], ['bar', 'bar']), (['foo', 'bar'], ['bar', 'bar'])]
>>> Counter((tuple(l1), tuple(l2)) for l1, l2 in mylist).most_common(1)[0]
((('foo', 'bar'), ('bar', 'bar')), 2)

现在您的内容是可散列的并且可以被计数。如果需要,您可以随时将 key 转回列表。

关于python - 是否有任何 python 模块可以计算(列表,列表)元组的频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23934075/

30 4 0
太空宇宙
Hồ sơ cá nhân

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á Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com