我想從字典中刪除某些值並將其返回。 例如,如果dict包含一個長度小於6的字符串,它將從字典中刪除。我如何迭代字典並將其返回到編輯狀態?Python - 從字典中刪除某些值,然後返回它
0
A
回答
0
好吧,如果你只是移除的長度小於6個值,所有你需要的是這樣的:
d = {'a': 'asdfasdf', 'b': 'asdf'}
while True:
flag = True
for i in d:
if len(d[i]) < 6:
del d[i]
flag = False
break
if flag:
break
print d
{'a': 'asdfasdf'}
+1
這可能會簡單得多。 '>>> {k:v for k,v in d.items()if len(v)<6}'== '{'b':'asdf'}' –
0
與字典工作時,它是很好的使用items()
:
讓考慮d = {1: "myname", 2:"mynamex", 3:"mynamey",4:"name"}
for key, value in d.items():
if len(value) < 6:
del d[key]
print(d)
答:字符串少於6個字符被刪除
{1: 'myname', 2: 'mynamex', 3: 'mynamey'}
注:
的Python 2:
for key, value in d.iteritems():
的Python 3:
for key, value in d.items()
0
我們可以使用單迴路做,
def doAct(s):
for key in s.keys():
if len(s[key]) < 6:
del s[key]
return s
如果使用for key in s
,y你會得到錯誤RuntimeError: dictionary changed size during iteration
。
+0
感謝Paul,更新:) – Kajal
0
這可以在一個單一的線端進行與所謂字典理解:
{k:v for k,v in d.items() if len(v)<6}
內部,它會解開到一個週期,但它更容易和更小的空間,使一個錯字。 您可以在循環中使用不同的條件,甚至可以爲中。
相關問題
- 1. 從字典中刪除某些值?
- 2. 如何從python中的字典中刪除某些字符?
- 3. 返回字典的某些總和值
- 4. 從python的字典中刪除某些鍵?
- 5. python - 從字典中刪除值
- 6. 從Python字典中刪除鍵/值對
- 7. 刪除某些數字python
- 8. 從製表符分隔的值中刪除某些返回字符文件
- 9. 如何刪除某些Aspell字典?
- 10. 刪除Python字典中的某些元素
- 11. 從Python字典刪除無值
- 12. Python - 從字典列表中刪除具有空值的字典
- 13. 字符串字典,然後再返回
- 14. Python:從文件中刪除某些行
- 15. 從列表中刪除某些字符
- 16. 刪除Python中某些字符後的字符串部分
- 17. 從字典中複製字符串,然後將其刪除
- 18. Python。迭代字典從某些關鍵
- 19. Python從字典中刪除密鑰它是一個數字
- 20. 當我添加到字典後,從數組中刪除值。數組值從iOS中的字典中刪除?
- 21. Python執行文件,然後刪除它
- 22. 從Python字典列表中選擇某些鍵值到CSV
- 23. 用C刪除某些字符,然後把剩下的陣列
- 24. 如何將Python字典序列化爲字符串,然後返回字典?
- 25. 如何從字典中刪除Python中不是數字的值?
- 26. 從字典中刪除'Counter'python
- 27. 從字典中刪除空格:Python
- 28. 從Python字典中刪除多個鍵
- 29. Python:從字典中刪除就地
- 30. Python從字典中刪除單引號
如果長度值小於6,應刪除整個鍵值。 –
對於像這樣的任務,你不刪除項目,你創建一個新的詞典覆蓋原來的。 – abccd
嗨,大家好,我的意思是我如何去掉價值而不是關鍵。說關鍵有多個值,但我只想刪除其中的一個? – verdy