python - 如何摆脱数据库查询列表中的嵌套列表?
问题描述
任务:
编写一个名为“one_column”的函数,它不带任何参数并返回一个列表。有一个数据库保存在一个名为“example.db”的文件中,其中包含一个名为“understanding”的表,其中列“carrier”、“describe”和“timing”每一个都存储整数值。返回一个仅包含表中每条记录的“时间”值的列表。
到目前为止我的代码:
import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
conn.commit()
def one_column():
total = c.execute('SELECT timing FROM understanding')
return list(total)
我的代码正在返回
[[30], [63], [63], [7], [62], [79], [1], [54], [20], [45], [93], [45], [38], [30], [84], [64]].
但预期的结果是
[30, 63, 63, 7, 62, 79, 1, 54, 20, 45, 93, 45, 38, 30, 84, 64].
如何摆脱嵌套列表?
解决方案
如果您的内部列表每个仅包含一个元素,则有一个非常简单的列表推导可以取消列表的嵌套。
>>> lst = [[30], [63], [63], [7], [62], [79], [1], [54], [20], [45], [93], [45], [38], [30], [84], [64]]
>>> [x for x, in lst]
[30, 63, 63, 7, 62, 79, 1, 54, 20, 45, 93, 45, 38, 30, 84, 64]
这将解包长度为 1 的序列lst
。
如果您的内部列表可以包含多个元素,请参阅此问题。
推荐阅读
- mysql - 将日期显示为列别名
- c - 一个函数在我使用 gcc 时有效,但是当我使用 Microsoft Visual Studio 的编译器时它什么也不做
- angular - ng 格式化表格
- c - 为什么我得到这个代码的错误输出(打印数组中的回文数)?
- r - 如何将数据框中给出的列表转换为 R 数据框中的因子/数字?
- android - 如何使用服务访问广播接收器中的电池电量以给我杀死结果?
- react-native - React-Native 导入/导出库
- reactjs - 状态与道具不同
- wpf - WPF Webbrowser 如何缩小页面加载事件?
- javascript - 使用 setTimeout 延迟加载幻灯片中的图像