列出理解和权力

时间:2016-01-27 02:12:53

标签: python list

我正在尝试创建一个从1到21的列表并将它们提供给3d。在学校我可以做到,但我下载了一个更新的版本,现在我收到以下错误:  for **或pow():'list'和'int' 这是我的代码:

A=[range(21)]
print A
[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]]
In [14]:

A2=[x**3 for x in A]
print A2
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in ()
----> 1 [x**3 for x in A]
      2 print A2

TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'

我正在使用ipython JUPYTER

2 个答案:

答案 0 :(得分:2)

第一行应该是:

A=range(21)

(即删除方括号[]

你拥有它的方式,你已经制作了一份列表"。您需要一个数字列表,而range()会返回该数字。

答案 1 :(得分:0)

设置

A = [range(21)]

将列表A的第一个元素设置为列表(A的打印值是列表中的列表)。为防止这种情况,请使用

A = range(21)

其余代码没问题。