首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取Python中列表中每个元组的第一个元素

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

Stack Overflow用户
提问于 2014-03-15 01:48:17
回答 4查看 338.5K关注 0票数 148

SQL查询给出了一个元组列表,如下所示:

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

我想要每个元组的所有第一个元素。现在我使用的是:

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

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

EN

回答 4

Stack Overflow用户

发布于 2016-07-24 19:51:22

实现这一目标的函数方法是使用以下命令解压缩列表:

sample = [(2, 9), (2, 9), (8, 9), (10, 9), (23, 26), (1, 9), (43, 44)]
first,snd = zip(*sample)
print(first,snd)

(2,2,8,10,23,1,43) (9,9,9,9,26,9,44)

票数 38
EN

Stack Overflow用户

发布于 2015-10-01 21:00:53

如果由于某些原因不想使用列表理解,可以使用mapoperator.itemgetter

>>> from operator import itemgetter
>>> rows = [(1, 2), (3, 4), (5, 6)]
>>> map(itemgetter(1), rows)
[2, 4, 6]
>>>
票数 25
EN

Stack Overflow用户

发布于 2014-03-15 01:50:38

您可以使用列表理解:

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

这应该是个好办法

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22412258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档