TypeError: %: 'list' 和 'int' 不支持的操作数类型 |很有趣的案例?
Posted
技术标签:
【中文标题】TypeError: %: \'list\' 和 \'int\' 不支持的操作数类型 |很有趣的案例?【英文标题】:TypeError: unsupported operand type(s) for %: 'list' and 'int' | very interesting case?TypeError: %: 'list' 和 'int' 不支持的操作数类型 |很有趣的案例? 【发布时间】:2016-02-13 19:24:51 【问题描述】: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' 不支持的操作数类型 |很有趣的案例?
【问题讨论】:
【参考方案1】:x_=[range(1,1000000)]
这将导致x_
变为[[1, 2, 3, ... 999999]]
。注意两个括号。这是一个双重嵌套列表,所以a
将是一个列表而不是一个 int。如果您只想将 a
设为 int 并将 x_
设为 [1, 2, 3, ... 999999]
,请尝试
x_ = range(1,1000000)
【讨论】:
range() 函数的输出是一个列表吗? 取决于您使用的 Python 版本。在 2.7 中,它是一个列表。在 3.X 中,它是一个range
对象,它的行为非常像一个列表,只是你不能分配给它。为了版本兼容性,您可以使用x_ = list(range(1, 10000000))
。以上是关于TypeError: %: 'list' 和 'int' 不支持的操作数类型 |很有趣的案例?的主要内容,如果未能解决你的问题,请参考以下文章
TypeError: 不支持的操作数类型 -: 'list' 和 'list'
TypeError: 不支持的操作数类型 -: 'int' 和 'list'
TypeError: %: 'list' 和 'int' 不支持的操作数类型 |很有趣的案例?
2. python提示:TypeError: unhashable type: 'list'
如何在其上制作一个简单的 Django URLconf 和 reverse() 进行测试? (获取TypeError:不可散列的类型:'list')