如何在Python中定位并打印列表中变为-1的元素索引?
解决方案
使用enumerate遍历
这是最直观的解决方式,enumerate可以同时获取列表的索引和对应元素值,刚好匹配你的需求。修改后的代码如下:
while True: if any(variables): for idx, val in enumerate(variables): if val == -1: print(f"索引: {idx}, 元素值: {val}") # 若确定只有一个元素会变为-1,找到后可直接break终止循环 break
使用列表推导式筛选
如果想要更简洁的写法,列表推导式可以快速筛选出所有值为-1的元素及其索引:
while True: if any(variables): # 筛选出所有符合条件的(索引, 元素)对 target_items = [(idx, val) for idx, val in enumerate(variables) if val == -1] # 假设仅存在一个目标元素,取第一个结果即可 if target_items: idx, val = target_items[0] print(f"索引: {idx}, 元素值: {val}")
补充说明:如果场景中可能出现多个元素变为-1,列表推导式会返回所有符合条件的项,你可以根据需求遍历输出或做其他处理。
内容的提问来源于stack exchange,提问作者Alex Borg
相关产品推荐
相关产品推荐

