How to extract dictionary single key-value pair in variables How to extract dictionary single key-value pair in variables python python

How to extract dictionary single key-value pair in variables


Add another level, with a tuple (just the comma):

(k, v), = d.items()

or with a list:

[(k, v)] = d.items()

or pick out the first element:

k, v = d.items()[0]

The first two have the added advantage that they throw an exception if your dictionary has more than one key, and both work on Python 3 while the latter would have to be spelled as k, v = next(iter(d.items())) to work.

Demo:

>>> d = {'foo': 'bar'}>>> (k, v), = d.items()>>> k, v('foo', 'bar')>>> [(k, v)] = d.items()>>> k, v('foo', 'bar')>>> k, v = d.items()[0]>>> k, v('foo', 'bar')>>> k, v = next(iter(d.items()))  # Python 2 & 3 compatible>>> k, v('foo', 'bar')


items() returns a list of tuples so:

(k,v) = d.items()[0]


>>> d = {"a":1}>>> [(k, v)] = d.items()>>> k'a'>>> v1

Or using next, iter:

>>> k, v = next(iter(d.items()))>>> k'a'>>> v1>>>