float()参数必须是字符串或数字,而不是' zip'

时间:2016-10-27 10:30:05

标签: python matplotlib

当我在python 2.7中运行时没有问题,但是当我在python 3中运行时出现错误。

我需要在此代码中更改某些内容。

import matplotlib as mpl
poly = mpl.path.Path(zip(listx,listy))
我得到的错误是

TypeError: float() argument must be a string or a number, not 'zip'

1 个答案:

答案 0 :(得分:13)

这是因为在python2 zip()中返回一个元组列表,mpl.path.Path()乐意接受。在python3中,zip()返回iterator,您必须使用它。您应该可以执行以下操作:

>>> poly = mpl.path.Path(list(zip(listx, listy)))