获取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