How to map python dictionary key values to each other?

2024/9/20 15:44:13

Suppose we have two dictionaries as below:

dict_a_to_b = {2:4, 6:9, 9:3}
dict_a_to_c = {2: 0.1, 6:0.2, 9: 0.8}

How to map these two dictionaries to make dict_c_to_b in python?

dict_c_to_b = {0.1:4, 0.2:9, 0.8:3}
Answer

Use a dict comprehension - something like this:

dict_a_to_b = {2:4, 6:9, 9:3}
dict_a_to_c = {2: 0.1, 6:0.2, 9: 0.8}result = {v: dict_a_to_b[k] for k, v in dict_a_to_c.items()}print(result)  #-> {0.1: 4, 0.2: 9, 0.8: 3}

If you have extra keys in dict_a_to_c that don't show up in the other object, you can use an if condition to check if the key exists first:

dict_a_to_b = {2:4, 6:9, 9:3}
dict_a_to_c = {2: 0.1, 6:0.2, 9: 0.8, 10:0.6, 50: 0.77, 12:0.56}result = {v: dict_a_to_b[k] for k, v in dict_a_to_c.items()if k in dict_a_to_b}print(result)  #-> {0.1: 4, 0.2: 9, 0.8: 3}

If you know the keys in both dict_a_to_b and dict_a_to_c appear in the same order, you can also use zip and just use the values on both dict objects:

result = dict(zip(dict_a_to_c.values(), dict_a_to_b.values()))print(result)  #-> {0.1: 4, 0.2: 9, 0.8: 3}
https://en.xdnf.cn/q/119313.html

Related Q&A

Installing Keyrock on Fiware in my Virtual Machine

I want install keyrock and I follow these steps, but in the step three, when I write in the console:sudo python tools/install_venv.pyConsole shows me the next fail:Could you help me, please?

Cartopy error when attempting to plot rivers

When attempting to use Cartopy to plot rivers, Im getting a URL error. Im not even sure the rivers feature will plot what I want...Im attempting to get the Galveston Ship Channel to show on my map. Her…

Have the address of the client in python

My request is : I have my web pages created in python (wherein there is html code), each pages has a button to go to the next page. Is it possible to get the address of the client when we submit an htm…

try/except issue in Python

I ran the following code as a practice purpose from one of the Python book and I want the output as shown in the URL provided below. So, when I am running the first activity in the question (from book …

Counting the number of vowels in a string using for loops in Python

Python Code:sentence = input(Enter a string:) vowel = A,a,E,e,I,i,O,o,U,u Count = 0 for vowel in sentence:Count += 1 print(There are {} vowels in the string: \{}\.format(Count,sentence))I am trying to …

Sum the values of specific rows if the rows have same values in specific column

I have a data frame like this:a b c 12456 11 123.1 12678 19 345.67 13278 19 1235.345or in another format <table><tr><td>12456</td><td>11</td><td>1…

Plotting Interpolated 3D Data As A 2D Image using Matplotlib

The data set is made of a list dfList containing pandas DataFrames, each DataFrame consisting of the column Y and an identical index column. I am trying to plot all the DataFrames as a 2D plot with pix…

Plotting a flow duration curve for a range of several timeseries in Python

Flow duration curves are a common way in hydrology (and other fields) to visualize timeseries. They allow an easy assessment of the high and low values in a timeseries and how often certain values are …

HTML variable value is not changing in Flask

I have written this code in Flaskans = 999 @app.route(/, methods=[POST, GET]) def home():flag = 0global anssession["ans"] = 0if (request.method == "POST"):jsdata = request.form[data…

How to add two lists with the same amount of indexs in python

I am still new to coding so i apologize for the basic question. How do I add to elements of two seperate lists? listOne = [0, 1 , 7, 8] listTwo = [3, 4, 5, 6] listThree = []for i in listOne:listAdd = …