python列表问题

刚学python,dl解答解答该问题(有没有方法根据t列表的值(如1)得到s列表中相对应下表的值)🤔

img


s = [5.0, 4.7, 3.6, 4.7, 5.0, 4.2, 3.5, 3.9, 5.0, 3.2] # 视力数据
t = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0] # 性别数据,0表示男生,1表示女生

male_vision = [] # 存储男生视力数据
female_vision = [] # 存储女生视力数据

# 遍历性别数据
for i in range(len(t)):
    if t[i] == 0: # 如果是男生
        male_vision.append(s[i]) # 将对应的视力数据添加到男生视力数据列表中
    else: # 如果是女生
        female_vision.append(s[i]) # 将对应的视力数据添加到女生视力数据列表中

# 计算男女生平均视力值
avg_male_vision = sum(male_vision) / len(male_vision)
avg_female_vision = sum(female_vision) / len(female_vision)

# 计算男女生平均视力值之差并取绝对值
diff = abs(avg_male_vision - avg_female_vision)
diff = round(diff, 2) # 保留两位小数

# 输出结果
print("男生平均视力值:", avg_male_vision)
print("女生平均视力值:", avg_female_vision)
print("男女生平均视力值之差:", diff)