Home >Backend Development >Python Tutorial >How Can I Efficiently Convert a List of Key-Value Pairs into a Python Dictionary?

How Can I Efficiently Convert a List of Key-Value Pairs into a Python Dictionary?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-28 17:35:20194browse

How Can I Efficiently Convert a List of Key-Value Pairs into a Python Dictionary?

Converting Key-Value Pairs in a List to a Dictionary

To convert a list of key-value pairs, where each even element represents a key and the following odd element is the corresponding value, into a dictionary, the syntactically cleanest method is:

b = dict(zip(a[::2], a[1::2]))

Here, the zip() function pairs the keys and values and the dict() constructor creates the dictionary.

For performance optimization, when dealing with large lists, consider the following method, which avoids creating intermediate lists:

i = iter(a)
b = dict(izip(i, i))

In Python 3, you can also use a dict comprehension:

b = {a[i]: a[i+1] for i in range(0, len(a), 2)}

If using iter() or zip() in Python 3, consider the lazy nature of zip() and use it as shown below:

i = iter(a)
b = dict(zip(i, i))

Lastly, in Python 3.8 and later, the "walrus" operator can be employed for a compact one-line solution:

b = dict(zip(i := iter(a), i))

The above is the detailed content of How Can I Efficiently Convert a List of Key-Value Pairs into a Python Dictionary?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn