无法解压不可迭代对象/迭代Python中的对象数组

Jac*_*son 5 python

我想迭代我拥有的 URL 对象数组中的所有对象

class Url(object):
    pass

a = Url()
a.url = 'http://www.heroku.com'
a.result = 0
b = Url()
b.url = 'http://www.google.com'
b.result = 0
c = Url()
c.url = 'http://www.wordpress.com'
c.result = 0

urls = [a, b, c]

for i, u in urls:
    print(i)
    print(u)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此脚本时,它会返回以下错误:

TypeError: cannot unpack non-iterable Url object
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

wha*_*000 7

尝试这个:

class Url(object):
    pass

a = Url()
a.url = 'http://www.heroku.com'
a.result = 0
b = Url()
b.url = 'http://www.google.com'
b.result = 0
c = Url()
c.url = 'http://www.wordpress.com'
c.result = 0

urls = [a, b, c]

for i in urls:
    print(i)
Run Code Online (Sandbox Code Playgroud)

迭代 url。要获取结果和网址(我认为您正在尝试这样做),请执行以下操作:

class Url(object):
    pass

a = Url()
a.url = 'http://www.heroku.com'
a.result = 0
b = Url()
b.url = 'http://www.google.com'
b.result = 0
c = Url()
c.url = 'http://www.wordpress.com'
c.result = 0

urls = [a, b, c]

for c,i in enumerate(urls):
    print("index is ",c)
    print(i.result)
    print(i.url)
Run Code Online (Sandbox Code Playgroud)

  • @JackRobson 请参阅[枚举](https://docs.python.org/3/library/functions.html#enumerate) (4认同)