Python 错误 TypeError: ‘in ‘ requires string as left operand, not int

当我们将 in 运算符与整数和字符串一起使用时,会出现 Python “TypeError: ‘in ‘ requires string as left operand, not int”。 要解决该错误,请将整数括在引号中,例如 '5' in my_str

下面是产生该错误的代码

my_str = '13579'

result = 13 in my_str

# ⛔️ TypeError: 'in <string>' requires string as left operand, not int
print(result)

错误结果如下

Python 错误 TypeError: 'in <string>' requires string as left operand, not int

我们使用 in 运算符检查导致错误的字符串中是否包含整数。

为了解决这个错误,我们必须将整数括在引号中以使其成为字符串。

my_str = '13579'

result = '13' in my_str
print(result)  # 👉️ True


if '13' in my_str:
    # 👇️ this runs
    print('13 包含在字符串中')
else:
    print('13 不包含在字符串中')

将整数括在引号中可以解决错误,因为当右侧的值是字符串时,左侧的值也必须是字符串。

如果我们将 int 存储在变量中,请在使用 in 运算符之前使用 str() 类将其转换为字符串。

my_str = '13579'

my_int = 13

result = str(my_int) in my_str
print(result)  # 👉️ True


if str(my_int) in my_str:
    # 👇️ this runs
    print('13 包含在字符串中')
else:
    print('13 不包含在字符串中')

str() 类可用于将对象(例如 int)转换为字符串。

一旦左侧和右侧的值属于同一类型,错误就解决了。

in 运算符测试成员资格。 例如,如果 x in s 的成员,则 x in s 的计算结果为 True,否则计算结果为 False。

my_str = 'num is 13579'

print('5' in my_str)  # 👉️ True
print('0' in my_str)  # 👉️ False

上面程序运行结果如下

Python 错误 TypeError: 'in <string>' requires string as left operand, not int

如果我们需要检查子字符串是否不在字符串中,请改用 not in 运算符。

my_str = 'num is 13579'

print('5' not in my_str)  # 👉️ False
print('0' not in my_str)  # 👉️ True

x not in s 返回 x in s 的否定。

所有内置序列和集合类型都支持 in 和 not in 运算符。

请注意,空字符串始终被视为任何其他字符串的子字符串。

my_str = '13579'

print('' in my_str)  # 👉️ True
免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » Python 错误 TypeError: ‘in ‘ requires string as left operand, not int