我需要一些關於更改字典中的值的說明,保持鍵不變。根據問題定義,我有一個列表作爲值。該程序運行一個循環,並將值分組到它的父(這是鍵)。那麼,只要條件滿足,是否可以將元素添加到列表中?是否可以更改字典中的值,保持鍵值不變?
例如:將可以被4整除的數字分組並存儲在字典中。
d={}
l=[]
for i in range(100):
if(i%4==0):
d.update({'Four':l.append(i)})
我需要一些關於更改字典中的值的說明,保持鍵不變。根據問題定義,我有一個列表作爲值。該程序運行一個循環,並將值分組到它的父(這是鍵)。那麼,只要條件滿足,是否可以將元素添加到列表中?是否可以更改字典中的值,保持鍵值不變?
例如:將可以被4整除的數字分組並存儲在字典中。
d={}
l=[]
for i in range(100):
if(i%4==0):
d.update({'Four':l.append(i)})
我想你想要的是:
d = {'Four': []}
for i in range(100):
if not i % 4:
d['Four'].append(i)
或者你可以使用列表理解:
d = {'Four': [i for i in range(100) if not i % 4]}
無論哪種方式,您可以:
d == {'Four': [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40,
44, 48, 52, 56, 60, 64, 68, 72, 76, 80,
84, 88, 92, 96]}
如果你將擁有的不僅僅是'Four'
更多,您可以使用collections.defaultdict
:
from collections import defaultdict
d = defaultdict(list)
for i in range(100):
if not i % 4:
d['Four'].append(i)
或做同樣的事情「手動」自己:
d = {}
for i in range(100):
if not i % 4:
if 'Four' not in d:
d['Four'] = []
d['Four'].append(i)
是的,你可以在字典編輯項目。
看看你的例子:
d={}
for i in range(100):
if(i % 4 == 0):
# Update our list with the new one.
if d.has_key('Four'):
d['Four'].append(i)
else:
d['Four'] = [i]
但是,此代碼是否適用於具有數字值而不是字符串的鍵。說,4而不是4? – Adithya
非常感謝。但是,這個建議是否也適用於數字鍵。說,4而不是'四'? – Adithya
是的,任何可哈希的對象可以是一個字典的鍵和其他一切將工作完全一樣 – jonrsharpe
感謝花花公子。但是如果密鑰碰巧是一個數字,它會引發錯誤。 – Adithya
什麼錯誤?請提供完整的追溯。整數和浮點數都是有效的字典鍵。 – jonrsharpe
回溯(最近通話最後一個): 文件 「」,1號線,在 d [1] .append(3) AttributeError的: '詮釋' 對象有沒有屬性 '追加' –
Adithya