You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化嵌套坐标列表中各组x、y值均值计算的for循环代码

代码优化方案

原有写法针对每个簇单独定义变量、重复编写循环逻辑,不仅冗余,也无法适配簇数量变化的场景。我们可以通过嵌套遍历直接完成所有簇的均值计算,无需单独定义多个存储列表。

写法1:易理解的基础嵌套循环

该写法逻辑清晰,新手也能快速看懂,每个簇仅需遍历1次,效率远高于原代码:

cluster_list = [[(1,2),(3,4)],[(5,6),(7,8)]]

# 遍历每个簇计算坐标均值
for cluster in cluster_list:
    sum_x = 0
    sum_y = 0
    point_count = len(cluster)
    # 一次遍历同时累加x、y坐标值
    for x, y in cluster:
        sum_x += x
        sum_y += y
    mean_x = sum_x / point_count
    mean_y = sum_y / point_count
    print(mean_x, mean_y)

写法2:更简洁的内置函数实现

借助Python内置的sum函数,代码可以进一步精简,运行逻辑和写法1完全一致:

cluster_list = [[(1,2),(3,4)],[(5,6),(7,8)]]

for cluster in cluster_list:
    point_count = len(cluster)
    mean_x = sum(point[0] for point in cluster) / point_count
    mean_y = sum(point[1] for point in cluster) / point_count
    print(mean_x, mean_y)

两种写法的运行结果和原代码完全相同:

2.0 3.0
6.0 7.0

内容的提问来源于stack exchange,提问作者python_beginner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:06:03