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

Python中如何判断两个列表中各自指定元素的索引是否相等

Python判断两个列表指定元素索引是否相等的实现方法

报错原因分析

TypeError: list indices must be integers or slices, not str错误通常由错误使用列表元素值作为索引下标导致,例如出现list1['name1']这类不符合Python语法的写法,正确的操作是调用列表的index()方法获取目标元素对应的索引值后再做比较。

正确实现代码

写法1:先做存在性校验,避免抛出异常

list1 = ['name1', 'name2', 'name3']
list2 = [123, 1234, 12345]

# 模拟用户输入的两个目标元素
target1 = input("请输入list1的目标元素:")
# list2元素为整数类型,用户输入默认为字符串,需做类型转换
target2 = int(input("请输入list2的目标元素:"))

# 先校验元素是否存在于对应列表
if target1 not in list1 or target2 not in list2:
    print("至少有一个目标元素不存在于对应列表中")
else:
    # 获取两个元素的索引并比较
    idx_equal = list1.index(target1) == list2.index(target2)
    print(f"两个元素的索引是否相等:{idx_equal}")

写法2:用异常捕获处理边界场景

list1 = ['name1', 'name2', 'name3']
list2 = [123, 1234, 12345]

target1 = input("请输入list1的目标元素:")
try:
    target2 = int(input("请输入list2的目标元素:"))
except ValueError:
    print("list2的元素为整数类型,输入值类型不匹配")
else:
    try:
        idx_equal = list1.index(target1) == list2.index(target2)
        print(f"两个元素的索引是否相等:{idx_equal}")
    except ValueError:
        print("至少有一个目标元素不存在于对应列表中")

测试效果

  • 输入name1和123,输出结果为True
  • 输入name2和12345,输出结果为False
  • 输入不存在的元素或类型不匹配的输入,会触发对应的提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:45:02