問題:
如有你有這樣的一個字典資料,如下:
Python
data = {'name': 'Jack', 'mobile': '12345678911', 'address': '', 'ID': '', }
1
2
3
4
5
6
data = { 'name' : 'Jack' ,
'mobile' : '12345678911' ,
'address' : '' ,
'ID' : '' ,
}
請問應該如何删除值為空的鍵值對?
錯誤答案:
Python
for k in data.keys(): if not data[k]: del data[k]
1
2
3
4
for k in data . keys ( ) :
if not data [ k ] :
del data [ k ]
以上代碼能夠完成我的問題嗎?思考一分鐘再回答是否正确!!!
答案:錯!!! 會報如下錯誤:
Python
Traceback (most recent call last): File "<stdin>", line 1, in <module> RuntimeError: dictionary changed size during iteration
1
2
3
4
Traceback ( most recent call last ) :
File "<stdin>" , line 1 , in < module >
RuntimeError : dictionary changed size during iteration
報錯意思:字典在疊代期間有改變