如何获取整数列表中奇数元素的索引值?
获取列表中奇数元素的索引
直接用index()方法有坑——如果列表里有重复的奇数,它只会返回第一个匹配元素的位置,没法拿到所有符合条件的索引。推荐用下面两种方法:
方法一:列表推导式 + enumerate(最简洁)
用enumerate()可以同时遍历元素的索引和值,直接筛选出奇数对应的索引:
dataItem1 = [3, 5, 2, 7, 4, 9] # 示例列表 odd_indices = [idx for idx, num in enumerate(dataItem1) if num % 2 != 0] print(odd_indices) # 输出: [0, 1, 3, 5]
方法二:普通循环遍历索引
如果觉得列表推导式不好理解,也可以用基础循环逐个检查:
dataItem1 = [3, 5, 2, 7, 4, 9] odd_indices = [] for idx in range(len(dataItem1)): # 判断当前索引对应的元素是否为奇数 if dataItem1[idx] % 2 != 0: odd_indices.append(idx) print(odd_indices) # 输出: [0, 1, 3, 5]
这两种方法都能准确获取所有奇数元素的索引,不会因为重复元素出错。
内容的提问来源于stack exchange,提问作者scarz.101
相关产品推荐
相关产品推荐

