访问列表中的元组中的值
[(1,2),(2,3),(4,5),(3,4),(6,7),(6,7),(3,8)]
如何返回列表中每个元组的第二个值?
有了列表理解。
[x[1] for x in L]
伊格纳西奥的答案是你想要的。 但是,作为一个学习Python的人,让我试着为你剖析它…如前所述,这是一个列表理解(例如DiveIntoPython3 )。 这里有几点:
[x[1] for x in L]
- 注意
[]
的代码行。 这些是定义一个列表。 这告诉你这个代码返回一个列表,所以它是list
types。 因此,这种技术被称为“列表理解”。 - L是你的原始列表。 所以你应该定义
L = [(1,2),(2,3),(4,5),(3,4),(6,7),(6,7),(3,8)]
执行上面的代码。 -
x
是一个只存在于理解中的variables – 尝试在理解之外访问x
,或者在执行上面的行之后inputtype(x)
,它会告诉你NameError: name 'x' is not defined
,而type(L)
返回<class 'list'>
。 -
x[1]
指向每个元组中的第二项,而x[0]
指向每个第一项。 - 所以这行代码从字面上读取“返回列表L中所有元组的第二个元素”。
在问这个问题之前,很难告诉你问题有多less,但也许你对这个问题不熟悉? 我会花一些时间阅读DiveIntoPython的第3章或任何理解资源。 祝你好运。
列表理解绝对是做到这一点的方法。 另一种更快的方法是map
和itemgetter
。
import operator new_list = map(operator.itemgetter(1), old_list)
为了回应OP在google上找不到答案的评论,我会指出一个超级天真的方式来做到这一点。
new_list = [] for item in old_list: new_list.append(item[1])
这使用:
- 声明一个variables来引用一个空的列表。
- 一个for循环。
- 在列表上调用
append
方法。
如果有人想学习一门语言,不能自己把这些基本的东西拼凑起来,那么就需要把它看作是一个练习 ,即使需要二十个小时也要自己去做。
人们需要学习如何思考自己想要什么 ,并将其与可用工具进行比较。 我的第二个答案中的每个元素都应该包含在一个基本的教程中。 没有阅读,你不能学习编程 。
我可以build议:
规范Matloff的快速Python教程
转到元组部分。 你将得到你的答案以及一个学习Python基础知识的高级指南。