我认为可以按如下方式更新现有字典:

nameValuePair = 'myKey=myValue'
d.update(nameValuePair.split('='))

但是我收到这个错误:
Traceback (most recent call last):
  File "<pyshell#98>", line 1, in <module>
    d2.update(item.split('='))
ValueError: dictionary update sequence element #0 has length 1; 2 is required

我查看了有关此主题的其他一些 StackOverflow 问题/答案,这让我认为这是可能的。我一定缺少一些基本的东西......

最佳答案

错误消息已经给了你一个提示:你传递的序列中的每个项目的长度必须为 2,这意味着它必须由一个键和一个值组成。

因此,您必须传递 2 元组 (-lists, -sequences,...) 的元组 (list, sequence,...):

// the value passed will be ((myKey, myValue), )
d.update((nameValuePair.split('='), ))
//       ^                        ^ ^
// creates a tuple of 1 element

或者你可以这样做:
key, value = nameValuePair.split('=')
d[key] = value

关于python - 如何从元组(或 2 个列表)更新字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11746668/

10-16 01:41