如何修改循环以选取列表中的指定元素?需仅使用前10个元素
只计算列表前10个元素的平均值
你可以通过两种简单方式实现只取列表前10个元素计算平均值:
方式一:调用函数时传入切片后的列表
直接在调用comAvAge时,传入原列表的前10个元素切片AGE_DATA[:10],原函数无需修改:
AGE_DATA =[22, 38, 26, 35, 35, 54, 2, 67, 14, 4, 68, 30, 41, 14, 95, 2] def comAvAge(arg1: list): count = 0 sum = 0 for x in arg1: sum = sum + x count = count + 1 avg = sum / count return avg # 传入前10个元素的切片 titanicAge = comAvAge(AGE_DATA[:10]) print(titanicAge)
方式二:修改函数内部逻辑,只遍历前10个元素
如果希望函数本身就固定只处理前10个元素,可以在循环时直接遍历arg1[:10],这样不管传入什么列表,都只取前10个计算:
AGE_DATA =[22, 38, 26, 35, 35, 54, 2, 67, 14, 4, 68, 30, 41, 14, 95, 2] def comAvAge(arg1: list): count = 0 sum = 0 # 只遍历列表的前10个元素 for x in arg1[:10]: sum = sum + x count = count + 1 avg = sum / count return avg titanicAge = comAvAge(AGE_DATA) print(titanicAge)
补充说明
Python里的列表切片list[:n]会返回列表从开头到第n-1索引的元素,所以AGE_DATA[:10]正好能拿到前10个元素(索引0到9)。如果列表长度不足10,切片会自动取到列表末尾,不会报错,这时候计算的就是整个列表的平均值。
内容的提问来源于stack exchange,提问作者BobbyShmurdaCoding
相关产品推荐
相关产品推荐

