python pop问题

q34的值太长,发不出去。以下为部分代码,望答惑。

这是一大串代码中的一段,顶格写的,无缩进问题,可单独拿出来运行,与其他代码无影响。

print q34
for i in q34.keys():#
    for j in range(len(q34[i])):
        if len(q34[i][j])==3:
            if i==q34[i][j][2]:
                q34[i][j].pop(1)
            else:
                q34[i][j].pop(2)
print(q34["宁波ZZ-广州ZZ"])

输出的结果为:

img

以下为单独拿出来运行的代码,把上面q34的值复制赋值给单独运行的代码,以下为单独运行的代码。

img


输出的结果为:

img

为什么会这样,我想达成的就是单独运行的这个结果,谢谢~

你的元素是列表,等式 i == q34...[2] 永远不成立,直接移除第3个元素,建议你打印下等式两边值就比较清楚