You can zip a dictionary the same as do a zip list using the zip() function in Python. The function takes in iterables as arguments and returns an iterator.
Python zip dictionary
Simple example code. Dictionary comprehension is an elegant and concise way to create dictionaries.
dictionary = {key: value for vars in iterable}
stocks = ['IBM', 'Apple', 'Netflix']
prices = [175, 127, 50]
res = {stocks: prices for stocks,
prices in zip(stocks, prices)}
print(res)
Output:
There is no built-in function or method that can do this. However, you could easily define your own.
def common_entries(*dcts):
if not dcts:
return
for i in set(dcts[0]).intersection(*dcts[1:]):
yield (i,) + tuple(d[i] for d in dcts)
This builds on the “manual method” you provide, but, like zip
, can be used for any number of dictionaries.
>>> da = {'a': 1, 'b': 2, 'c': 3}
>>> db = {'a': 4, 'b': 5, 'c': 6}
>>> list(common_entries(da, db))
[('c', 3, 6), ('b', 2, 5), ('a', 1, 4)]
Do comment if you have any doubts or suggestions on this Python zip topic.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
Windows 10
Python 3.10.1
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.