python - 部分展平列表

标签 python

这可能是一个非常愚蠢的问题,但是,鉴于底部的示例代码,我如何获得保留元组的单个列表?

(我看过 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/

相关文章:

python - 如何在 AWS Lambda 上使用 Tensorflow Lite

python - 为什么 datetime 对同一个时区给出不同的时区格式?

python - 管道发送和接收。 unpack 需要长度为 4 的字符串参数

python - 如何插入字段中带有字符[']的表(pymssql)

python - 为什么可以将类传递给Python的sorted()函数的key属性?

python - 如何将从 Firebase 导出的数据作为 json 加载到 Python 脚本中

python - 尝试编写 Python 脚本来删除重复的字体 Mac OSX

python - 应用中的 Pandas 就地操作

python - 不使用 OR 来匹配的正则表达式 (name ="myName".*house ="myHouse"|house ="myHouse".*name ="myName")

Python,mysqldb错误1064