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

如何从SQLite3的fruits表查询数据并存储为Python字典键值对

实现方法

你通过fetchall()拿到的data是由元组组成的列表,每个元组对应一行查询结果,顺序和你SELECT语句里的字段顺序一致,第一个元素是水果名,第二个是对应重量。

方法1:修改你现有的while循环实现

把循环里的占位符替换为对应下标的元组元素即可:

import sqlite3

conn = sqlite3.connect("database.db")
sql = """SELECT fruit,weight FROM fruits"""
cursor = conn.execute(sql)
data = cursor.fetchall()

fruitweight= {}
i = 0

while(i < len(data)):
    # 取元组第0位作为字典键,第1位作为字典值
    fruitweight[data[i][0]] = data[i][1]
    i = i+1

# 用完记得关闭数据库连接
conn.close()

# 测试输出
print(fruitweight)

运行后输出结果为:{'Apple': 80.5, 'Pear': 150.8, 'Kiwi': 69.0}

方法2:更简洁的字典推导式实现

不需要手动写循环计数,直接遍历data生成字典,代码更精简,是Python的惯用写法:

import sqlite3

conn = sqlite3.connect("database.db")
data = conn.execute("SELECT fruit,weight FROM fruits").fetchall()
fruitweight = {fruit: weight for fruit, weight in data}
conn.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:24:03