在包含多种数据类型的列表中查找非数字元素的索引
查找列表中非数字元素的索引
给定一个包含整数和字符串的混合列表,需要通过循环找出所有非数字元素的索引。示例列表及期望输出如下:
mixed_list = [2, 3, 4, '*', 2, '^', '+'] # 期望输出:3, 5, 6
解决方案:用enumerate()遍历列表
enumerate()能在遍历过程中同时获取元素的索引和值,非常适合这个场景:
mixed_list = [2, 3, 4, '*', 2, '^', '+'] non_num_indices = [] for idx, item in enumerate(mixed_list): # 判断元素是否不是整数类型 if not isinstance(item, int): non_num_indices.append(idx) # 按要求格式输出结果 print(', '.join(map(str, non_num_indices)))
运行后会直接输出 3, 5, 6,完全匹配需求。
额外说明
如果你的列表中存在字符串形式的数字(比如'7'),需要调整判断逻辑,改用str(item).isdigit()来验证是否为数字。但根据你的示例场景,仅判断元素类型是否为int就足够。
内容的提问来源于stack exchange,提问作者flizikosky
相关产品推荐
相关产品推荐

