在python中,sqlite3 select返回哪种类型的数据?

在python中,sqlite3 select返回哪种类型的数据?,python,sqlite,select,cs50,Python,Sqlite,Select,Cs50,有人能帮我理解这db.execute行返回的内容吗?在数据库中,它返回行,但当我们将这个db.execute赋值给python变量时,它实际返回什么?我试着把结果当作一个列表,也当作一本字典,但两者都很混乱。当我尝试将数据提取为列表时,会出现字典错误,而当我尝试将数据提取为dict时,会出现列表错误,因此如何操作cash变量?短暂性脑缺血发作 列表版本: cash_list = db.execute("SELECT cash FROM users WHERE username = ?&

有人能帮我理解这
db.execute
行返回的内容吗?在数据库中,它返回行,但当我们将这个
db.execute
赋值给python变量时,它实际返回什么?我试着把结果当作一个列表,也当作一本字典,但两者都很混乱。当我尝试将数据提取为列表时,会出现字典错误,而当我尝试将数据提取为dict时,会出现列表错误,因此如何操作
cash
变量?短暂性脑缺血发作

列表版本:

cash_list = db.execute("SELECT cash FROM users WHERE username = ?", owner_id)
        
        cash = cash_list[0][0]

        if cash < total: 
            return apology("don't have enough cash")
        else:
            left = cash - total
            db.execute("UPDATE users SET cash = ?", left)
字典版本:

cash_dict = db.execute("SELECT cash FROM users WHERE username = ?", owner_id)

        cash = cash_dict["cash"]

        if cash < total:
            return apology("don't have enough cash")
        else:
            left = cash - total
            db.execute("UPDATE users SET cash = ?", left)

在这里,我再次给出解决方案,使这个问题得到解决

 cash = cash_list[0]['cash']
这将为您提供所需的o/p


例如,如果返回的数据是
[{'cash':10000}]
,那么
现金列表[0]['cash']
会给出值
10000

,您是否可以执行len(cash_dict),并告诉您的目标是什么output@cetins你为什么要初始化现金?我是问现金的事。把它放在第一行后面。和execute@SandrinJoy然后我试图找到一种在页面上查看该值的方法,但它没有打印出来。我试着这么做,但仍然不明白:/@SandrinJoy好的,最后我得到了它,长度是1现在在第1行后打印(现金),并告诉o/p
File "/home/ubuntu/pset8/finance/helpers.py", line 34, in decorated_function
        return f(*args, **kwargs)
File "/home/ubuntu/pset8/finance/application.py", line 85, in buy
        last_cash = cash_dict["cash"]
TypeError: list indices must be integers or slices, not str
 cash = cash_list[0]['cash']