Python合并两个列表交替拼接触发TypeError错误如何解决
问题解决办法
错误根源
- 你的
lastlist是嵌套列表,实际结构为[[22.418, 1.627, 0.121, 2.365, 1.019, 4.574]],外层仅包含1个元素。直接和header做zip配对时,循环拿到的num是完整的数值列表,不是单个数值,因此触发类型错误 join方法仅支持拼接字符串类型,你获取的数值是float类型,未做类型转换也会触发报错
修复代码
常规循环写法
master = [] # 取lastlist的第一个元素,得到和header长度匹配的数值列表 num_list = lastlist[0] for sym, num in zip(header, num_list): # 数值转字符串后拼接 master.append(f"{sym} {num}") print(master)
简化列表推导式写法
master = [f"{sym} {num}" for sym, num in zip(header, lastlist[0])] print(master)
运行后即可得到你期望的输出结果:['AMC 22.418', 'AMD 1.627', 'EDU 0.121', 'F 2.365', 'FCEL 1.019', 'LCID 4.574']
内容的提问来源于stack exchange,提问作者DSG
相关产品推荐
相关产品推荐

