如何在Python中使用函数将多个值附加到键?

我想声明一个dictName变量。然后,我想实现一个函数,该函数将值添加到dictName的键中。我也希望这些键也添加到函数中。

所以基本上像我尝试过的那样是行不通的,因为它只会更新最后一个函数调用,而不会添加它!:

dictName = dict()

def addValToDict(val1,val2):
   dictName.update([('firstkey:',[val1]),('secondKey:',[val2])])

addValToDict(5,1)
addValToDict(6,3)
addValToDict(-2,2)

我得到的输出:

{'firstkey:': [-2],'secondKey': [2]}

我想要的输出:

{'firstkey:': [5,6,-2],'secondKey': [1,3,2]}
f2003365964y 回答:如何在Python中使用函数将多个值附加到键?

这对您有用吗?

dictName = dict()
dictName['firstKey']=[]
dictName['secondKey']=[]

def addValToDict(val1,val2):
   dictName['firstKey'].append(val1)
   dictName['secondKey'].append(val2)

addValToDict(5,1)
addValToDict(6,3)
addValToDict(-2,2)
#{'secondKey': [1,3,2],'firstKey': [5,6,-2]}
,

我认为您可能会使用defaultdict中的list

from collections import defaultdict
dictName = defaultdict(list)

def addValToDict(val1,val2):
    dictName['firstkey'].append(val1)
    dictName['secondKey'].append(val2)
,

您可以这样做

def addValToDict(val1,val2):
   dictName['firstKey'] += [val1]
   dictName['secondKey'] += [val2]
,

以下显示所需的输出

dictName = dict()

def appendValue(key,value):
    dictName.setdefault(key,[]).append(value)

def addValToDict(val1,val2):
    appendValue('firstkey',val1)
    appendValue('secondKey',val2)


addValToDict(5,2)

print(dictName)

更新

感谢@Jon Clements。使用'setdefault'帮助我删除了not in比较。

,

您需要追加到当前条目,而不是对其进行更新(这将完全替代它)。这些都应该为您工作:

dictName = dict(firstkey=[],secondkey=[])

def addValToDict(val1,val2):
    dictName['firstkey'].append(val1)
    dictName['secondkey'].append(val2)

dictName = dict()

def addValToDict(val1,val2):
    dictName.setdefault('firstkey',[]).append(val1)
    dictName.setdefault('secondkey',[]).append(val2)

如果您不确定最终将写入或读取哪些条目,那么这是另一种选择:

import collections
dictName = collections.defaultdict(list)

def addValToDict(val1,val2):
    dictName['firstkey'].append(val1)
    dictName['secondkey'].append(val2)
本文链接:https://www.f2er.com/3128500.html

大家都在问