You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取列表中长度≥n的子列表的第n个元素?

解决方案

你可以直接在列表推导式中加入条件判断,筛选出长度≥4的子列表后再提取元素,这样就能避免索引错误:

# 注意不要用`list`作为变量名,会覆盖Python内置类型
lst = [[1,2],[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3], [1,2,3,4,5,6]]
print([value[3] for value in lst if len(value) >= 4])
# 输出: [4, 4, 4, 4]

如果更倾向于分步处理(大型列表场景下更易读),可以先用filter函数过滤符合条件的子列表,再提取元素:

lst = [[1,2],[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3], [1,2,3,4,5,6]]
# 先过滤出长度≥4的子列表
valid_sublists = filter(lambda sub: len(sub) >= 4, lst)
# 提取每个符合条件子列表的索引3元素
result = [sub[3] for sub in valid_sublists]
print(result)
# 输出: [4, 4, 4, 4]

两种方法都能高效处理大型列表,列表推导式更简洁,filter的方式逻辑拆分更清晰,根据你的习惯选择即可。

内容的提问来源于stack exchange,提问作者Jinsoul Jung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:33:16