這是一個示例代碼。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
提交
取消