我需要查找是否在字符串列表中找到整数。
context = ['4','6','78']
if category.id in context:
上面的代码无效,因为我将int(category id)与字符串进行比较。
我不能使用int(context),因为context是一个列表并且会给出错误。
我可以将category.id转换为字符串,但是会出现不好的情况吗?
使用in
运算符可以将字符串转换为int,或者我需要使用for loop
?
答案 0 :(得分:3)
您还可以考虑使用列表推导将context
转换为整数列表。
context_ints = [int(i) for i in context]
if category.id in context_ints:
... do stuff ...
如果保证context
是一个可以明智地转换为整数的字符串列表,这可能是最安全的路径。
答案 1 :(得分:2)
您可以随时将id更新为字符串,如下所示:
class cat():
def __init__(self, id):
self.id = id
category = cat(4)
context = ['4', '6', '78']
if str(category.id) in context:
print('True')
#output
True