我有一个带有int值的列表,用一个循环迭代相同的列表,同时对其进行迭代,我想用一些if条件检查该列表,但是遇到了这个问题:
ESC
我的代码:
TypeError: argument of type 'int' is not iterable
答案 0 :(得分:2)
因此in
是一个关键字,旨在遍历可迭代数据类型(例如列表或字符串),并检查您的变量是否在该可迭代范围内。因此您可以像这样使用它:
ch = "cheese"
ref = "cheese, milk, eggs"
if ch in ref:
print(True)
#Prints True
或
ch = 1
l = [1,2,3,4,5]
if ch in l:
print(True)
#Prints True
但是您不能在int
上进行迭代,它只是一个整数,所以这是错误的根源
答案 1 :(得分:0)
您似乎从根本上误解了for
的工作。您似乎认为for m in list_b
的意思是“将list_b
存储在m
中”。但是,它的实际含义是“遍历list_b
的每个元素,并且对于每个元素,将该值临时存储在m
中,然后在for循环中执行代码”。因此,您在for循环中编写的任何内容都会对list_b
的每个元素执行一次。因此,如果您只想打印list_b
并检查10
中是否包含list_b
,则应该摆脱for循环:
list_b=[1,2,3,4,5,6,7,8,9] #list with int values
print(list_b) #printing the m
if(10 in list_b): #checking for presance of 10 in the list
print('' yes 10 is presant in listb')
else:
print('10 is not presant in list_b')
PS的“状态”和“现在”不具有“ a”,它们具有“ e”。