这是一个示例代码。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]
1 回答

喵喵时光机
TA贡献1846条经验 获得超7个赞
这是一种方法,首先我提取第二个位置存在哪些唯一不同的值,然后我循环这些唯一值以每次计算第三个位置的值的平均值,其中第二个位置的元素相等。
import numpy as np
a = ['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.5
5678 23.5
添加回答
举报
0/150
提交
取消