【发布时间】:2018-07-23 05:32:46
【问题描述】:
我在 python (Python36-32) 中有一个点类
class point:
def __init__(self , xPoint ,yPoint):
self.x = xPoint
self.y = yPoint
def makeMeStr(self):
return "("+str(self.x)+","+str(self.y)+")"
def __repr__(self):
return self.makeMeStr()
def __str__(self):
return self.makeMeStr()
当我创建这些点的列表时以及当我这样做时
left, right = zip(*myListOfPoint)
我明白了
TypeError: zip argument #1 must support iteration
有什么好的建议
【问题讨论】:
-
报错说应该是列表或者支持迭代的东西
-
点类如何支持迭代。它有 2 个 doubles , x 和 y
-
不,不是类,zip 需要一个迭代器
-
myListOfPoint 是一个默认支持迭代的列表。
-
列表支持迭代。但是您不是在压缩
myListOfPoints,而是在压缩*myListOfPoints。*将列表解压缩为zip的一组单独参数。所以它告诉你你正在解包的列表中的元素不可迭代,而不是列表不可迭代。
标签: python scikit-learn