x_=[range(1,1000000)]
def pr(x_):
for a in x_:
# is type(a) int ??
if a==2 or a==3 :
x_[a-1]=0
continue
for j in range(2,a):
if(a%j==0):
x_[a-1]=0
break
pr(x_)
TypeError:%:'list'和'int'|的不支持的操作数类型非常有趣的案例?
答案 0 :(得分:1)
x_=[range(1,1000000)]
这会导致x_
成为[[1, 2, 3, ... 999999]]
。请注意两个括号。它是一个双重嵌套的列表,因此a
将是一个列表而不是一个int。如果您只想让a
成为int而x_
成为[1, 2, 3, ... 999999]
,请尝试
x_ = range(1,1000000)