如何将多个tuple合并为单个列表?Python代码问题求助
解决方法
你当前的代码只是在循环里逐个打印元组,没有将它们收集到列表中。只需先创建一个空列表,每次循环把生成的元组添加进去,最后输出这个列表即可:
TVA = [] for key, value in analysis.items(): tvi = (key, {k:v for k, v in value.indicators.items() if k in indica}) TVA.append(tvi) print(TVA)
也可以用更简洁的列表推导式写法:
TVA = [(key, {k:v for k, v in value.indicators.items() if k in indica}) for key, value in analysis.items()] print(TVA)
执行后就能得到你想要的包含所有元组的单个大列表:
[ ('James',{'hair':'black','eye':'brown'}), ('Michael',{'hair':'brown','eye':None}), ('Robert',{'hair':'red','eye':'black'}), ('Washington',{'hair':'grey','eye':'grey'}), ('Jefferson',{'hair':'brown','eye':''}) ]
内容的提问来源于stack exchange,提问作者HK Py
相关产品推荐
相关产品推荐

