I thought it would be possible to update an existing dictionary as follows:
nameValuePair = 'myKey=myValue'
d.update(nameValuePair.split('='))
However I get this error:
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
I looked at some other StackOverflow questions/answers on this topic, which made me think this was possible. I must be missing something basic...
The error message already gives you a hint: Each item in the sequence you pass must have a length of 2, meaning it has to consist of a key and a value.
Therefore you have to pass a tuple (list, sequence,...) of 2-tuples (-lists, -sequences,...):
// the value passed will be ((myKey, myValue), )
d.update((nameValuePair.split('='), ))
// ^ ^ ^
// creates a tuple of 1 element
Alternatively you could do:
key, value = nameValuePair.split('=')
d[key] = value
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With