如何从元组列表中计算出元组列表?
How can I count a list of tuples from a list of tuples?
我在 Python 中有 2 个元组列表:
ListA
由包含 n 的所有可能序列的元组组成
字节。
例如 1 字节序列:[(0,), (1,), (2,), ... (255,)]
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
我在 Python 中有 2 个元组列表:
ListA
由包含 n 的所有可能序列的元组组成 字节。
例如 1 字节序列:[(0,), (1,), (2,), ... (255,)]
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