TypeError:参数 2 必须支持迭代(即使它支持迭代?

TypeError: Argument 2 must support iteration (even though it does?)

提问人:zebra14420 提问时间:4/29/2016 更新时间:4/29/2016 访问量:15951

问:

我是python的新手,并且遇到地图函数的错误,这对我来说没有意义。当我以列表作为第二个参数调用函数时,它会返回错误“TypeError:参数 2 必须支持迭代”,这让我感到困惑,因为列表应该支持迭代。

import numpy as np
print(np.array(map(int, raw_input().split().reverse()), float))

该代码旨在接收一个列表,并打印出一个与列表相反的 numpy。关于为什么第二个参数不可迭代的任何帮助将不胜感激。谢谢!

python numpy

评论

0赞 hpaulj 4/30/2016
你测试过这个吗:?甚至raw_input().split().reverse()'1 2 3'.split().reverse()

答:

5赞 wRAR 4/29/2016 #1

list.reverse()函数就地反转列表并返回 。如果你想把它写成一行,你可以改写。Nonereversed(raw_input().split())

3赞 Pep_8_Guardiola 4/29/2016 #2

.reverse()就地反转并返回 。None

摆脱 并像这样调用,这应该可以解决您的问题:.reverse()reversed()

import numpy as np
print(np.array(map(int, reversed(raw_input().split())), float))