Python print语句永远不会在循环中执行

Python print语句永远不会在循环中执行,python,Python,在下面发布的代码中,第一个嵌套的for循环按预期显示日志或print语句。但是后者嵌套了循环,循环具有k和l,因为indces从不显示其中的日志或print语句。 请让我知道为什么打印报表 print(str(x) + ",,,,,,,,,,,,,,,,,,," + str(y)) 从不显示,尽管PolygonComordinationSinePSG25832包含值 python代码: for feature in featu

在下面发布的代码中,第一个嵌套的for循环按预期显示日志或print语句。但是后者嵌套了循环,循环具有
k
l
,因为indces从不显示其中的日志或print语句。 请让我知道为什么打印报表

                    print(str(x) + ",,,,,,,,,,,,,,,,,,," + str(y))
从不显示,尽管
PolygonComordinationSinePSG25832
包含值

python代码

    for feature in featuresArray:
        polygonCoordinatesInEPSG4326.append(WebServices.fetchCoordinateForForFeature(feature))
    for i in range(len(polygonCoordinatesInEPSG4326)):
        for j in range(len(polygonCoordinatesInEPSG4326[i])):
            lon = polygonCoordinatesInEPSG4326[i][j][0]
            lat = polygonCoordinatesInEPSG4326[i][j][1]
            x, y = transform(inputProj, outputProj, lon, lat)
            xy.append([x,y])
            print ("lon:" + str(lon) + "," + "lat:" + str(lat)  + "<=>" + "x:" + str(x) + "," + "y:" , str(y))
            print(str(x) + "," + str(y))
            print("xy[%d]: %s"%(len(xy)-1,str(xy[len(xy)-1])))
            print("\n")
        print("len(xy): %d"%(len(xy)))
        polygonCoordinatesInEPSG25832.append(xy)
        print("len(polygonCoordinatesInEPSG25832[%d]: %d"%(i,len(polygonCoordinatesInEPSG25832[i])))
        xy.clear()

    print("len(polygonCoordinatesInEPSG25832 = %d" %(len(polygonCoordinatesInEPSG25832)))
    for k in range(len(polygonCoordinatesInEPSG25832)):
        for l in range(len(polygonCoordinatesInEPSG25832[k])):
            x = polygonCoordinatesInEPSG25832[k][l][0]
            y = polygonCoordinatesInEPSG25832[k][l][1]
            print(str(x) + ",,,,,,,,,,,,,,,,,,," + str(y))
对于featuresArray中的功能:
POLYGONCORDECINEPSG4326.append(WebServices.fetchCoordinateForFeature(功能))
对于范围内的i(len(PolygoncomordinationSinePSG4326)):
对于范围内的j(len(PolygoncomordinationSinePSG4326[i]):
lon=polygoncocordinationsinepsg4326[i][j][0]
lat=polygoncomocordinationsinepsg4326[i][j][1]
x、 y=变换(输入proj、输出proj、lon、lat)
xy.append([x,y])
打印(“lon:”+str(lon)+“,“+”lat:”+str(lat)+“+”x:”+str(x)+“,“+”y:”,str(y))
打印(str(x)+“,”+str(y))
打印(“xy[%d]:%s”%(len(xy)-1,str(xy[len(xy)-1]))
打印(“\n”)
打印(“len(xy):%d”%(len(xy)))
PolygonCoordinationSinePSG25832.附加(xy)
打印(“len(PolygoncordinationSinePSG25832[%d]:%d”%(i,len(PolygoncordinationSinePSG25832[i]))
xy.clear()
打印(“len(PolygoncordinationSinePSG25832=%d%”(len(PolygoncordinationSinePSG25832)))
对于范围内的k(len(PolygoncomordinationSinePSG25832)):
对于范围内的l(len(多边形坐标SINEPSG25832[k]):
x=polygoncocordinationsinepsg25832[k][l][0]
y=PolygoncocordinationsEnpsg25832[k][l][1]
打印(str(x)+“,,,,,,,,,,,,,,,,,,”+str(y))

polygoncoordinationsinepsg25832
包含值,但
polygoncoordinationsinepsg25832[k]
不包含值。
你可以用
xy
附加它,但是你没有取消链接,所以当你调用
xy.clear()
时,它会变成空的。试着深度复制它。

你能打印并显示
polygoncocordinates…
本身吗?它“包含值”的事实这并不意味着内环可以工作。试着分别打印
x
y
?我不确定,但你应该看一下这个
polygoncomatificationsinesg25832[k]
。你可以从中找到一些东西。我说的是这一行
表示范围内的l(len(polygoncomatitionsinesg25832[k])
它给您的结果是什么
打印(PolygonCoordinationSinePSG25832[0])
请您用示例详细解释一下,当您使用list变量时,大多数情况下它只是插入一个指向列表的指针。当您编辑列表时,新值也会更改。例外情况可能是某些类型转换或函数返回值。最好先用简单的代码尝试一下。或者使用debug print()我想如果你提供了一些代码,那就太好了。在这里,我们使用'a=[]b=[0,1,2]a.append(b)b.clear()print(a)`你期望的结果是
[[0,1,2]]
,但是如果你使用
b=[]
而不是
b.clear()
,这也会解决问题,因为
b
现在是新实例,并且存储在
a
中的旧实例不会被修改。