我正在尝试用两个不同的向量制作一个向量,如下面的代码段所示。 但是,当代码第一次进入for循环时,我在第5行获得了一个超出范围异常的列表。
我做错了什么?
def get_two_dimensional_vector(speeds, directions):
vector = []
for i in range(10):
if (i % 2 == 0):
vector[i/2][0] = speeds[i/2]
else :
vector[i/2 - 1/2][1] = directions[i/2 - 1/2]
答案 0 :(得分:0)
您不能以这种方式使用Python列表。它不像一个带有的C数组
预定长度。如果要添加新元素,则必须使用
%%
方法或其他东西。
除此之外,你还使用第二个索引,暗示着
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.4.0" % "provided",
"org.apache.spark" %% "spark-mllib" % "1.4.0" % "provided",
"org.apache.lucene" % "lucene-analyzers-common" % "5.1.0"
)
的元素本身就是列表或词汇或其他内容
他们甚至被分配了。
您希望将append
和vector
转换为a
二维列表。所以,首先,这是如何用循环来做到这一点。注意
我删除了你正在使用的固定大小的假设,尽管如此
代码仍假定speeds
和directions
的大小相同。
speeds
现在,这是Pythonic的方法。
directions