关于python列表长度的问题

源程序如下,我的目的是想比较两种类型的对象,将整型和复数类型进行比较,然后输出两者的不同项。运行后会报错。错误附在源程序后,说是列表索引超出范围,我是菜鸟,不知道哪个地方弄错了,请各位支支招

m=dir(0)
n=dir(0.0j)
for i in range(len(m)):
    for j in range(len(n)):
        if m[i]==n[j]:
            del m[i]
            del n[j]
print(m,n)

Traceback (most recent call last):
  File "F:\BaiduNetdiskDownload\why.py", line 6, in <module>
    if m[i]==n[j]:
IndexError: list index out of range
阅读 4.9k
1 个回答

你是要del 删除数组中的元素,会改变原数组的长度。最好不要在循环中删除列表元素。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进