【发布时间】:2018-04-30 13:23:43
【问题描述】:
我正在尝试在不使用 Pandas 数据框或均值函数(用于练习)的情况下计算平均值。我有嵌套列表,如果第一个和第二个元素匹配,我想平均内部列表的第三个元素。
示例输入:
mylist = [[USD, 2000, 13.40], [USD, 2000, 13.68], [USD, 2001, 13.99], [EUR, 2000, 10.50], [EUR, 2000, 11.02]]
想要的输出是:
avlist = [[USD, 2000, 13.54], [USD, 2001, 13.99], [EUR, 2000, 10.76]]
我得到的最远的是从前 2 个元素中创建一个集合并找到与原始列表的交集:
unique_list = list(set([x[0:2] for x in mylist]))
if (y for y in ([x[0:2] for x in mylist]) if y in unique_list):
# av_list =
是否可以执行类似“在此交集为真的情况下,将 my_list 中的第三个元素添加到 unique_list 中的第三个元素并除以添加的元素数”之类的操作?
我希望问题很清楚。
【问题讨论】:
-
我认为你试图让你的代码太短。将其分解为许多小任务。首先列出货币-年份对。然后遍历该列表以查找原始列表中的匹配项。想想你可以使用哪些数据结构。