2 回答

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
熊貓對(duì)此似乎有些過(guò)分了。由于要分組的這些值似乎是連續(xù)的(否則使用字典代替),因此您可以使用itertools.groupby
并取這些浮點(diǎn)數(shù)的平均值:
from itertools import groupby
from statistics import mean
[mean(v for *_, v in v) for k,v in groupby(l, lambda x: x[0][0])]
# [3.4333333333333336, 4.68, 20.5]
或者,如果您更喜歡字典:
{k:mean(v for *_, v in v) for k,v in groupby(l, lambda x: x[0][0])}
# {'01001': 3.4333333333333336, '01002': 4.68, '01003': 20.5}

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
像這樣的東西:
from statistics import mean
l = [(('01001', '01003'), 4.15),
(('01001', '01005'), 2.83),
(('01001', '01007'), 3.32),
(('01002', '01009'), 6.83),
(('01002', '01011'), 2.53),
(('01003', '01013'), 20.50),
(('01003', '01013'), 20.50)]
print(mean(int(x[0][0]) for x in l))
輸出
1001.8571428571429
添加回答
舉報(bào)