变换“元组列表";放入一个平面列表或矩阵

2022-01-19 00:00:00 python list tuples

问题描述

使用 Sqlite,select .. from 命令会返回结果 output,它会打印:

With Sqlite, a select .. from command returns the results output, which prints:

>>print output
[(12.2817, 12.2817), (0, 0), (8.52, 8.52)]

这似乎是一个元组列表.我想将 output 转换为一个简单的列表:

It seems to be a list of tuples. I would like to either convert output to a simple list:

[12.2817, 12.2817, 0, 0, 8.52, 8.52]

或 2x3 矩阵:

12.2817 12.2817
0          0 
8.52     8.52

通过output[i][j]

flatten 命令对第一个选项不起作用,我不知道第二个...

The flatten command does not do the job for the 1st option, and I have no idea for the second one...

我们将不胜感激快速的解决方案,因为实际数据要大得多.

A fast solution would be appreciated, as the real data is much bigger.


解决方案

迄今为止发布的最快(和最短)的解决方案:

By far the fastest (and shortest) solution posted:

list(sum(output, ()))

itertools 解决方案快约 50%,比 map 解决方案快约 70%.

About 50% faster than the itertools solution, and about 70% faster than the map solution.

相关文章