从列表中的元组中剔除字符

3 投票
4 回答
4234 浏览
提问于 2025-04-17 03:57

我有一个元组列表,格式是这样的(是通过数据库查询生成的):

[(280.73,), (281.359,), (280.630,)]

我想去掉括号和逗号,变成类似这样的格式,这样更方便转换成JSON格式。

[280.73,281.359,280.630]

有什么简单的方法可以做到这一点吗?

4 个回答

0

这些例子可以处理任意数量的元组。

>>> l = [(280.73,), (281.359,), (280.630,)]
>>> [ v for b in l for v in b ]
[280.73, 281.359, 280.63]
>>> from itertools import chain
>>> list(chain(*l))
[280.73, 281.359, 280.63]
>>> 
6

假设你有一个包含单个元素的元组的列表(我们称这个列表为 l)。你想把这个列表变成一个只包含元素的简单列表。

你可以使用列表推导式,提取每个元组里的第一个元素,这样就能完成这个任务:

>>> l = [(280.73,), (281.359,), (280.630,)]
>>> [t[0] for t in l]
[280.73000000000002, 281.35899999999998, 280.63]
>>> 
5

最简单的方法可能就是用列表推导式:

cleaned = [i[0] for i in [(280.73,), (281.359,), (280.630,)]]

撰写回答