我在“for i in array”中的数据类型是什么

时间:2016-03-20 06:08:01

标签: python for-loop

我一直在尝试使用for循环迭代一个数组(实际上是一组数组的连接)。

for i in book1+book2+book3:
    print i.pageno

此处i是book类型的对象,book1,book2和book3中的对象也是如此。

运行此代码时,出现错误。

  

AttributeError:'int'对象没有属性'pageno'

我已在book类中定义了pageno,该类已导入。

3 个答案:

答案 0 :(得分:1)

' i'将取决于[book1..book3]的类型,我建议你检查(book1 + book2 + book3)的值。 如果你想知道实际的类型,你可以尝试输入(i),例如:

for i in [1, 3, 'five']:
   print type(i)

输出:

<type 'int'>
<type 'int'>
<type 'str'>

答案 1 :(得分:1)

看起来你的连接数组是一个整数数组。默认情况下,整数对象没有pageno变量。

答案 2 :(得分:0)

尝试寻找book *数组:

print(type(book1), type(book2), type(book3))

并且,为什么不,尝试在循环中寻找i的类型:

bs = book1 + book2 + book3
for i in bs:
    print(i, type(i))

现在你可以发现这个缺陷: - )