类型“ int”的参数不可迭代

时间:2019-08-20 17:49:32

标签: python

我有一个带有int值的列表,用一个循环迭代相同的列表,同时对其进行迭代,我想用一些if条件检查该列表,但是遇到了这个问题:

ESC

我的代码:

TypeError: argument of type 'int' is not iterable

2 个答案:

答案 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”。