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

技术问询:如何获取列表中长度为1的对象的索引?

获取列表中长度为1的对象的索引

我来帮你搞定这个问题!要拿到列表里长度为1的对象对应的索引,核心就是要同时遍历元素的索引和元素本身,Python里的enumerate()函数正好能完美解决这个需求。

方法一:简洁的列表推导式

这是最常用的写法,一行代码就能完成筛选:

# 假设你的对象列表是obj_list
obj_list = [[1], ["a", "b"], [3], [4,5,6]]
# 筛选出所有长度为1的对象的索引
target_indices = [idx for idx, obj in enumerate(obj_list) if len(obj) == 1]
print(target_indices)  # 输出: [0, 2]

方法二:直观的循环遍历

如果觉得列表推导式不够直观,也可以用普通循环来实现,逻辑完全一致:

target_indices = []
obj_list = [[1], ["a", "b"], [3], [4,5,6]]
for idx, obj in enumerate(obj_list):
    if len(obj) == 1:
        target_indices.append(idx)
print(target_indices)  # 输出: [0, 2]

为什么这个方法能解决你的问题?

你之前的方法应该是只遍历了列表里的对象本身,没有同时跟踪它们的索引位置。而enumerate()会在遍历过程中,给每个元素配上它在列表里的索引值,这样我们就能在筛选出长度为1的对象时,直接把对应的索引保存下来。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:00:12