天天看點

Python3中如何删除字典中值為空的鍵值對

問題:

如有你有這樣的一個字典資料,如下:

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

報錯意思:字典在疊代期間有改變