问答详情
源自:3-3 子图与多种图形绘制

TypeError: zip argument #1 must support iteration

老师,就是输入两个zip出问题了是怎么回事哦

提问者:qq_沉淀_22 2017-08-31 17:45

个回答

  • 慕粉长风
    2017-09-16 17:44:55
    已采纳

    zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)

    http://www.cnblogs.com/strongYaYa/p/5870075.html

  • qq_慕沐2441601
    2020-05-13 13:49:50

    按照你们的方法,我的代码成功实现了,但原理还是迷迷糊糊的

  • JasonHsia
    2018-03-04 03:14:34

    我也是一样的问题,这个问题的意思是zip()引用的东西不是一个可迭代类型,很奇怪,因为这个内容确实是可迭代类型。所以我做了如下修改:

    Y1 = zip(x,y1)

    Y2 = zip(x,y2)

    for x,y in Y1:

        plt.text(x+0.4, y+0.05, '%.2f'%y, ha='center', va='bottom')

    for x, y in Y2:

        plt.text(x+0.4, -y-0.05, '%.2f'%y, ha='center', va='top')

    其实就是把变量换了一下再代入,结果就可行了。

    可是这个样子和原来的代码没有本质不同啊,很纳闷,网上也没找见答案。


  • 卡卡时代
    2018-02-07 21:22:25

    怎么解决的,我也出现这个问题