Python 更新字典中键的值列表
我有一本字典,像:Python 更新字典中键的值列表,python,Python,我有一本字典,像: d = {c1: l1, c2: l2, c3: l3, ......., cn: ln} 式中c1,c2,。。。。cn是字符串,l1,l2,。。。l3是列表 现在,我有一个函数,其中列表需要更新,对于一对变量c,x: 1。如果c在d中: 找到c的(键,值),并用x更新相应的l 2。如果c不在d中: 在d中创建一个cm:lm对 到目前为止,我尝试的是: if c in d: d.update({cn:ln.append(x)}) else: d.update
d = {c1: l1, c2: l2, c3: l3, ......., cn: ln}
式中c1,c2,。。。。cn是字符串,l1,l2,。。。l3是列表
现在,我有一个函数,其中列表需要更新,对于一对变量c,x:
1。如果c在d中:
找到c的(键,值),并用x更新相应的l
2。如果c不在d中:
在d中创建一个cm:lm对
到目前为止,我尝试的是:
if c in d:
d.update({cn:ln.append(x)})
else:
d.update({cm:lm.insert(x)})
但是代码没有按预期工作
任何关于代码为什么不起作用的提示都会很有帮助,欢迎对代码提出任何可以使其起作用的建议
注意:c和x值作为参数传递给函数,在函数中进行所有更新
为了澄清,我在PyCharm和Windows10上运行Python2.7
编辑:
请参见
示例代码如下所示:
d = {
"Key1":[1,2,3],
"Key2":[11,12,13]
}
def test(c, x):
if c in d:
d[c].append(x);
else:
d[c] = [x];
print(d)
test("Key1", 12)
test("Key3", 122)
请看
示例代码如下所示:
d = {
"Key1":[1,2,3],
"Key2":[11,12,13]
}
def test(c, x):
if c in d:
d[c].append(x);
else:
d[c] = [x];
print(d)
test("Key1", 12)
test("Key3", 122)
一个示例输出将是令人愉快的。
dict.update
对于该作业来说是错误的工具。您想更新列表,而不是目录,也不想更新list.append
或list.insert
返回新列表;如果d..d[c]中有c,它们都返回None
;else..d[c].insert(index,x)
?Yep@Aran Fey,由于更新后的值和insertA示例输出将是令人愉快的。dict.update
是用于此作业的错误工具。您想更新列表,而不是目录,也不想更新list.append
或list.insert
返回新列表;如果d..d[c]中有c,它们都返回None
;else..d[c].insert(index,x)
?Yep@Aran Fey,在更新和插入后得到的值为None