Partially flattening a list
Posted
by alj
on Stack Overflow
See other posts from Stack Overflow
or by alj
Published on 2010-05-29T13:44:50Z
Indexed on
2010/05/29
14:02 UTC
Read the original article
Hit count: 185
python
This is probably a really silly question but, given the example code at the bottom, how would I get a single list that retain the tuples?
(I've looked at the itertools but it flattens everything)
What I currently get is:
('id', 20, 'integer')
('companyname', 50, 'text')
[('focus', 30, 'text'), ('fiesta', 30, 'text'), ('mondeo', 30, 'text'), ('puma', 30, 'text')]
('contact', 50, 'text')
('email', 50, 'text')
what I would like is a single level list like:
('id', 20, 'integer')
('companyname', 50, 'text')
('focus', 30, 'text')
('fiesta', 30, 'text')
('mondeo', 30, 'text')
('puma', 30, 'text')
('contact', 50, 'text')
('email', 50, 'text')
def getproducts():
temp_list=[]
product_list=['focus','fiesta','mondeo','puma'] #usually this would come from a db
for p in product_list:
temp_list.append((p,30,'text'))
return temp_list
def createlist():
column_title_list = (
("id",20,"integer"),
("companyname",50,"text"),
getproducts(),
("contact",50,"text"),
("email",50,"text"),
)
return column_title_list
for item in createlist():
print item
Thanks
ALJ
© Stack Overflow or respective owner