【发布时间】:2017-12-06 20:55:23
【问题描述】:
有什么区别
[439 301 481 194 208 415 147 502 333 86 544 353 229]
和
[439, 301, 481, 194, 208, 415, 147, 502, 333, 86, 544, 353, 229]
当我尝试时
sent = sent[np.newaxis,:]
在第二个数组上,它给了我以下错误:
File "Mymain.py", line 200, in <module>
sent = sent[np.newaxis,:]
TypeError: list indices must be integers or slices, not tuple
【问题讨论】:
-
[...]不会自动为您提供numpy数组。numpy是一个 third-party 附加组件,用于以您(显然)在 Matlab 中习惯的方式处理数组。[...]本身为您提供了一个基本的 Pythonlist,它的技巧更少。将您的list转换为带有numpy.array( [...])的 numpy 数组 -
这显然缺乏上下文。您可以通过编写
[1, 2, 3]来定义一个列表,但[1 2 3]不是一个有效的语法。第一行是从哪里来的? -
我喜欢 python,因为错误非常易读(不仅仅是程序!)。所以你的错误说列表(
sent)索引(np.newaxis,:)必须是整数或切片而不是元组(np.newaxis,)。删除sent = sent[np.newaxis,:]中的,。假设您以正确的方式完成了其他所有操作(例如找出 np.array 和 python list 之间的区别等),它应该可以正常工作。 -
缺少逗号表明第一行是一个numpy数组的打印。第二个可能是一个列表。适用于数组的索引通常不适用于列表。
标签: python python-3.x numpy