You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多个列表中的字符串添加到字典并生成目标结构化数据

问题原因分析
  • 原有代码错误点:
    1. 只遍历了name_row列表,没有关联rating_row和title_row对应索引位置的元素
    2. row.get(name)是从空字典row里取键为name的值,该键本来就不存在,所以返回None
    3. 字典row是在循环外定义的,每次循环都会覆盖同一个字典的内容,最后追加到rows里的只有最后一次修改的同一个字典对象

正确实现方案

方案1:按索引遍历构造字典列表

如果你需要先构造字典列表再转DataFrame,可以用如下写法:

import pandas as pd

name_row = ['Bob', 'Jerry', 'Will']
rating_row = ['4.0', '2.5', '3.7']
title_row = ['Great', 'Okay', 'Nice'] # 修正你原拼写错误Geat→Great

rows = []
# 按索引遍历三个长度一致的列表
for i in range(len(name_row)):
    row = {
        'Names': name_row[i],
        'Rating': rating_row[i],
        'Title': title_row[i]
    }
    rows.append(row)

df = pd.DataFrame(rows)

运行后df的输出就和你预期的表格结构完全一致。

方案2:更简洁的直接构造方法

pandas支持直接传入字典构造DataFrame,不需要手动循环:

import pandas as pd

name_row = ['Bob', 'Jerry', 'Will']
rating_row = ['4.0', '2.5', '3.7']
title_row = ['Great', 'Okay', 'Nice']

df = pd.DataFrame({
    'Names': name_row,
    'Rating': rating_row,
    'Title': title_row
})

这种写法代码量更少,执行效率也更高。


内容的提问来源于stack exchange,提问作者Harry Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 10:09:04