如何从元组列表中计算出元组列表?

How can I count a list of tuples from a list of tuples?

我在 Python 中有 2 个元组列表:

  1. ListA 由包含 n 的所有可能序列的元组组成 字节。
    例如 1 字节序列:[(0,), (1,), (2,), ... (255,)]

  2. ListB 由包含 n 个随机序列的元组组成 bytes.
    例如:[[(127,), (69,), (76,), ...]

我需要计算每个可能的字节序列,即使它出现了 0 次。我正在尝试用 collections.Counter 来做到这一点,但我不知道如何做到这一点,所以它也算作 0 次出现。

我正在寻找一种有效的方法,因为 ListA 可能很大,具体取决于字节序列的长度(1 个字节序列 = 256 个值,2 个字节序列 = 65,536 个值 ...),甚至ListB 可以更大,具体取决于它包含多少元组。

有没有一种方法可以利用 Counter 函数来计算 0 次出现的次数,或者遍历 2 个列表、比较和计算出现次数的最佳方法是什么?

您可以在创建列表时创建一个计数字典,并用您需要的所有值填充字典。 举个例子:

import random

listA = []
listB = []
count = {}
for i in range(256):
    listA.append((i,))
    listB.append((random.randint(0, 255),))
    count[i] = 0
for i in listB:
    count[i[0]] += 1