How to zip keys within a list of dicts

2024/11/18 1:51:31

I have this object:

dvalues = [{'column': 'Environment', 'parse_type': 'iter', 'values': ['AirportEnclosed', 'Bus', 'MotorwayServiceStation']}, {'column': 'Frame Type', 'parse_type': 'list', 'values': ['All']}]

I want a zipped output like this:

('AirportEnclosed', 'All')
('Bus', 'All')
('MotorwayServiceStation', 'All')

so far the nearest I have got is with the below:

for d in dvalue:dv = d['values']zip_list = zip(dv, d['values'])for z in zip_list:print(z)

Which gives me this as an output:

('AirportEnclosed', 'AirportEnclosed')
('Bus', 'Bus')
('MotorwayServiceStation', 'MotorwayServiceStation')
('All', 'All')

What do I need to change to get the desired output?

Answer

I am not sure if I understand the underlying reasoning, nor how general of a solutions you want (are the dictionaries always two, or can they be more?). Here is something to get you started:

dvalues = [{'column': 'Environment', 'parse_type': 'iter', 'values': ['AirportEnclosed', 'Bus', 'MotorwayServiceStation']}, {'column': 'Frame Type', 'parse_type': 'list', 'values': ['All']}]import itertoolsla = dvalues[0]['values']
lb = dvalues[1]['values']print([(x, y) for x,y in zip(la, itertools.cycle(lb))])

This gives the desired output:

[('AirportEnclosed', 'All'), ('Bus', 'All'), ('MotorwayServiceStation', 'All')]

Inspired from: Loop over 2 lists, repeating the shortest until end of longest

https://en.xdnf.cn/q/120135.html

Related Q&A

AttributeError: DataFrame object has no attribute allah1__27

Im trying to solve this and Im pretty sure the code is right but it keeps getting me the same Error.I have tried this:import datetime from datetime import datetime as datettest_df = shapefile.copy() te…

How to convert csv to dictionary of dictionaries in python?

I have a CSV file shown below.I need to convert CSV to dictionary of dictionaries using python.userId movieId rating 1 16 4 1 24 1.5 2 32 4 2 47 4 2 …

Mo Money- Making an algorithm to solve two variable algebra problems

A cash drawer contains 160 bills, all 10s and 50s. The total value ofthe 10s and 50s is $1,760.How many of each type of bill are in the drawer? You can figure thisout by trial and error (or by doing a…

How to explode Python Pandas Dataframe and merge strings from other dataframe?

Dataframe1 has a lot of rows and columns of data. One column is Text. Certain rows in Text column have strings and some strings include within the strings this {ExplodeEList2} How to explode (expand) t…

Creating a new column with numbers in Pandas to group with a column with existing numbers

Good day, I have a column from a data frame here:A231011 22My objective is to create a new column and associate the numbers like this:A file_number 23 8 10 6 11 6 22 8As…

How to get PDF file from the binary data of SoftLayers quote?

I got the binary data by "getPdf" method of SoftLayers API.Ref. BillingSoftLayer_Billing_Order_Quote::getPdf | SoftLayer Development Network - http://sldn.softlayer.com/reference/services/Sof…

How to list of elements and use those elements as a header of pandas dataframe?

I have a list with some elements. For example: list= [name, phone_number,age,gender] I want to use these elements as a header or column name in a pandas dataframe. I would really appreciate your ideas.…

Averaging Filter using python

I am new in python and trying apply averaging filter on image as the way i understand averaging concept summing up the neighboring elements including itself and divide it by number of elementstechnique…

Click on Show more deals in webpage with Selenium

Id like to click on every Show 10 more deals on the following page: "https://www.uswitch.com/broadband/compare/deals_and_offers/" but it does not seem to work. Im stuck having the following e…

In Matplotlib, what axis attribute specifies the spacing between ticks? [duplicate]

This question already has answers here:Changing the tick frequency on the x or y axis(15 answers)Closed 6 years ago.When generating a Matplotlib line or scatter plot, what axis attribute specifies the …