计算python中两个列表中第n个位置的元素的平均值

这是一个示例代码。


a = ['abc', 1234, 23]

b = ['def', 1234, 24]

c = ['abc', 5678, 23]

d = ['def', 5678, 24]

letters = [a,b,c,d]

我想将具有相同值的列表存储在列表的第二个位置并计算第三个位置的平均值。例如:


list_ = ['abc', 'def', 1234, 23.48]


摇曳的蔷薇
浏览 182回答 1
1回答

喵喵时光机

这是一种方法,首先我提取第二个位置存在哪些唯一不同的值,然后我循环这些唯一值以每次计算第三个位置的值的平均值,其中第二个位置的元素相等。import numpy as  npa = ['abc', 1234, 23]b = ['def', 1234, 24]c = ['abc', 5678, 23]d = ['def', 5678, 24]letters = [a,b,c,d]unique_second_value = set([l[1] for l in letters])for unique in unique_second_value:    avg = np.mean([l[2] for l in letters if l[1] == unique])    print (unique, avg)输出:1234 23.55678 23.5
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python