我有一个list
tuples
,每个元组都有两个元素:一个整数和一个内部列表。元组列表包含len=900
,每个内部列表可以包含len=2
,len=3
或len=4
,具体取决于具体情况。
这是列表的摘录:
mylist=[(0, [1.0, 1.0]), (1, [1.0, 1.0, 1.0]), ..., (31, [1.0, 1.0, 1.0, 1.0]), ...]
。
这是一个特殊情况,其中内部列表的每个元素都是1.0
,但我想处理具有不同值的通用案例。
我的问题:
1)如何计算内部列表中元素的总数?在可视化示例中,此数字为2+3+4=9
。
2)如何计算内部列表中每个值(或者更好,每个 bin )的出现次数?
答案 0 :(得分:1)
这是让你入门的东西。对于#1,您可以使用列表解析来获取元组的每个部分的长度:
lens = [len(y) for x, y in mylist]
这将生成元组中每个子列表的长度数组,因此lens[0]
将等于2,等等。
答案 1 :(得分:1)
您只需遍历列表然后遍历内部列表,然后创建一个字典来分别计算每个值。 您还可以为每个内部列表增加一个变量来计算元素。
inner_list_count = 0
value_count = dict()
for key,innerlist in mylist:
inner_list_count += len(innerlist)
for value in innerlist:
if value not in value_count:
value_count(value) = 0
value_count(value) += 1
答案 2 :(得分:1)
元素数量:
sum(len(l) for _, l in mylist)
出现次数:
from collections import Counter
Counter(x for _, l in mylist for x in l)
出现分类:
from collections import Counter
binsize = 100
Counter(x - x % binsize for _, l in mylist for x in l)