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

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]

>>>

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

以上是 获取Python列表中每个元组的第一个元素 的全部内容, 来源链接: utcz.com/qa/433446.html

回到顶部