如何高效提取Python嵌套列表中各子列表的第二个元素?
更优的实现方法当然有!
你现在的循环写法完全可行,但Python提供了更简洁、更贴合Python风格的方式来完成这个需求:
1. 列表推导式(最推荐)
这是Python里处理这类需求的标准写法,一行代码就能搞定,逻辑和你原来的循环完全一致,但更紧凑易读:
# 小提醒:尽量不要用`list`作为变量名,避免覆盖Python内置的list类型 my_list = [[1,'abc'], [2, 'bcd'], [3, 'cde']] output = [item[1] for item in my_list]
运行后output就会得到['abc','bcd','cde'],这种写法执行效率和循环相当,但代码更简洁,可读性也更强,是Python开发者的首选方案。
2. 使用map函数(函数式风格)
如果你想尝试函数式编程的写法,也可以用map配合匿名函数实现:
my_list = [[1,'abc'], [2, 'bcd'], [3, 'cde']] output = list(map(lambda x: x[1], my_list))
不过这种写法对新手来说可读性稍弱,所以一般更推荐列表推导式。
最后再强调下:别用list当变量名哦,它是Python的内置类型,用它做变量名会覆盖掉内置的list()函数,可能给后续代码埋下隐患~
内容的提问来源于stack exchange,提问作者Dawn17
相关产品推荐
相关产品推荐

