这可能是一个非常愚蠢的问题,但是,鉴于底部的示例代码,我如何获得保留元组的单个列表?
(我看过 itertools,但它把一切都弄平了。)
我目前得到的是:
('id', 20, 'integer')
('companyname', 50, 'text')
[('focus', 30, 'text'), ('fiesta', 30, 'text'), ('mondeo', 30, 'text'), ('puma', 30, 'text')]
('contact', 50, 'text')
('email', 50, 'text')
相反,我需要一个级别列表:
('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
最佳答案
你能把它变成
[[("id",20,"integer")],
[("companyname",50,"text")],
getproducts(),
...]
?如果是这样,您只需连接列表即可。
return sum(column_title_list, [])
你也可以使用
return [("id",20,"integer"),("companyname",50,"text")] + getproducts() + ...
关于python - 部分展平列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2935291/