结合可能的不同数据格式列表

时间:2014-11-06 15:08:20

标签: python python-2.7

我有两个列表,我希望基于Product(产品出现在两个表中)基本上内部加入。一个列表是一维的,另一个列表是多维的。我认为我将它们组合起来的问题可能是数据格式。

list1 = ['Product A','Product B','Product C','Product D']
list2 = [('Product F','10'),('Product A','30'),('Product D','40')]

joined = [item1+item2[1:] for item1 in list1
                            for item2 in list2
                                if item1[0] == item2[0]]
print joined

期望的输出:

[('Product A', '30'),('Product D','40')]

我还希望最终将此元组的元素与字符串组合以生成一些HTML代码:

for row in joined:
    html_table_body = ""
    html_table_body = html_table_body  + "<tr><td>Item:" + joined[1] + "</td></tr>"
print html_table_body 

这会产生错误:

TypeError: cannot concatenate 'str' and 'tuple' objects

1 个答案:

答案 0 :(得分:4)

您可以使用简单的列表理解:

[item for item in list2 if item[0] in list1]

对于另一部分,您可以使用

html_table_body = ""
for row in joined:
    html_table_body += "<tr><td>Item:" + row[1] + "</td></tr>"
print html_table_body