sup*_*er9 80 python tuples list
[(1,2), (2,3), (4,5), (3,4), (6,7), (6,7), (3,8)]
Run Code Online (Sandbox Code Playgroud)
如何从此列表中的每个元组返回第二个值?
期望的输出:
[2, 3, 5, 4, 7, 7, 8]
Run Code Online (Sandbox Code Playgroud)
Ign*_*ams 92
具有列表理解力.
[x[1] for x in L]
Run Code Online (Sandbox Code Playgroud)
gar*_*ary 72
伊格纳西奥的答案就是你想要的.但是,正如有人也在学习Python,让我试着为你解剖它......如上所述,它是一个列表理解(例如DiveIntoPython3中所涵盖的).以下是几点:
[x[1] for x in L]
[]代码行周围的问题.这些是定义列表的内容.这告诉您此代码返回一个列表,因此它是list类型.因此,这种技术被称为"列表理解".L = [(1,2),(2,3),(4,5),(3,4),(6,7),(6,7),(3,8)]在执行上面的代码之前定义.x是一个只存在于理解中的变量 - 尝试在理解x之外访问,或者type(x)在执行上面的行之后键入它会告诉你NameError: name 'x' is not defined,而type(L)返回<class 'list'>.x[1]指向每个元组中的第二个项目,而x[0]将指向每个第一个项目.在提出这个问题之前,很难说你有多少尝试过这个问题,但也许你只是不熟悉理解?我会花一些时间阅读DiveIntoPython的第3章,或任何有关理解的资源.祝好运.
列表理解绝对是这样做的方法.另一种应该更快的方法是map和itemgetter.
import operator
new_list = map(operator.itemgetter(1), old_list)
Run Code Online (Sandbox Code Playgroud)
针对OP无法在谷歌上找到答案的评论,我会指出一种超级天真的方式来做到这一点.
new_list = []
for item in old_list:
new_list.append(item[1])
Run Code Online (Sandbox Code Playgroud)
这用于:
append在列表上调用方法.如果有人试图学习某种语言并且不能将这些基本部分组合在一起,那么他们需要将其视为练习,即使需要20个小时也要自己动手.
人们需要学习如何思考自己想要的东西并将其与可用工具进行比较.第二个答案中的每个元素都应该包含在基础教程中.没有阅读,你就无法学会编程.
| 归档时间: |
|
| 查看次数: |
110127 次 |
| 最近记录: |