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
Release: 2024-11-28 17:35:20
Original
195 people have browsed it

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]))
Copy after login

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))
Copy after login

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

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

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))
Copy after login

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))
Copy after login

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!

source:php.cn
Statement of this Website
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template