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

如何确保for循环中的值是列表指定元素而非仅相等,且仅输出一次True

解决Python中判断循环元素为同一对象实例的问题

要判断循环中的元素是否是x[0]的同一对象实例,不能用判断值相等的==,而要用判断对象身份的is运算符——它会检查两个变量是否指向内存中的同一个对象,而非仅仅值相等。

修改后的代码

x = [1,2,1,3]
for i in x:
    if i is x[0]:
        print("True")

补充说明

  • is的本质是比较对象的身份标识,和id(i) == id(x[0])效果完全一致,id()函数可以返回对象的唯一内存地址。
  • 注意:Python对小整数(通常是-5到256范围)有全局缓存机制,示例中的两个1可能会被视为同一对象,这时候用is还是会输出两次。如果你的需求是仅匹配列表中第一个位置的元素(不管对象实例是否重复),可以改用遍历索引的方式:
x = [1,2,1,3]
for index, item in enumerate(x):
    if index == 0:
        print("True")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 05:12:20