当前位置: 首页 > 面试题库 >

获取Python列表中每个元组的第一个元素

郑浩博
2023-03-14
问题内容

SQL查询为我提供了一个元组列表,如下所示:

[(elt1, elt2), (elt1, elt2), (elt1, elt2), (elt1, elt2), (elt1, elt2), ...]

我想要每个元组的所有头一个元素。现在我用这个:

rows = cur.fetchall()
res_list = []
for row in rows:
    res_list += [row[0]]

但是我认为可能会有更好的语法来做到这一点。你知道更好的方法吗?


问题答案:

使用列表理解:

res_list = [x[0] for x in rows]

下面是一个演示:

>>> rows = [(1, 2), (3, 4), (5, 6)]
>>> [x[0] for x in rows]
[1, 3, 5]
>>>

或者,您可以使用拆包代替x[0]

res_list = [x for x,_ in rows]

下面是一个演示:

>>> lst = [(1, 2), (3, 4), (5, 6)]
>>> [x for x,_ in lst]
[1, 3, 5]
>>>

两种方法实际上都做相同的事情,因此您可以选择任意一个。



 类似资料: