Python:填充大量字符串出现的列表

Python:填充大量字符串出现的列表,python,numpy,Python,Numpy,我有一个字符串列表: ['1 12 4', '2 2 3', '23 32 1', ...] 我需要列出每个潜在组合的发生情况: [0, 3, 1, ...] 其中第一个元素表示“1 1 1”,第二个元素表示“1 1 2”,第三个元素表示“1 1 3”,等等。现在,如果我有5个数字字符串的列表,范围在1-100之间,即[1 2 100 32 99',…],那么这意味着100到5的幂的潜在组合,这是一个相当大的列表,尤其是当大多数值为零时 在Python中实现这一点最有效的方法是什么?我想到

我有一个字符串列表:

['1 12 4', '2 2 3', '23 32 1', ...]
我需要列出每个潜在组合的发生情况:

[0, 3, 1, ...] 
其中第一个元素表示“1 1 1”,第二个元素表示“1 1 2”,第三个元素表示“1 1 3”,等等。现在,如果我有5个数字字符串的列表,范围在1-100之间,即[1 2 100 32 99',…],那么这意味着100到5的幂的潜在组合,这是一个相当大的列表,尤其是当大多数值为零时


在Python中实现这一点最有效的方法是什么?我想到的最明显的方法是使用所有组合并迭代每个组合,然后在原始列表中使用count来填充出现列表,但我相信有更好的方法。

如果我理解正确,您想计算5个数字字符串的出现次数吗?数一数?计数器类构建唯一值的字典,并从列表中统计它们的出现次数:

>>> from collections import Counter
>>> s=['1 12 4', '2 2 3', '23 32 1','1 12 4']
>>> Counter(s)
Counter({'1 12 4': 2, '2 2 3': 1, '23 32 1': 1})

我不明白您是如何从示例数据中获得
[0,3,1,…]
的。只知道该字符串的出现次数。所以对于“11”,它应该是myList.count('11')计数器与字典略有不同。例如,使用
counter=counter
计数器['3']
将返回
0
,尽管不在列表
s
,而字典将抛出异常。(仅为完整起见)