我有两个列表,我希望基于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
答案 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