在python中填充for循环中的列表

2024-04-25 03:59:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用两个不同的向量,如下面的代码所示。 但是,当代码第一次进入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]

Tags: 代码in列表forgetifdefrange
1条回答
网友
1楼 · 发布于 2024-04-25 03:59:23

不能用这种方式使用Python列表。它不像是一个带有 预定义长度。如果要添加新元素,必须使用 append方法之类的。在

除此之外,您还使用了第二个索引,这意味着 vector的元素本身就是列表或dict或其他东西 他们甚至被分配了。在

看起来您想将speeds和{}转换为 二维列表。所以,首先,这里有一个循环的方法。注意 我删除了你使用的固定尺寸假设,尽管 代码仍然假定speeds和{}的大小相同。在

def get_two_dimensional_vector(speeds, directions):
    vector = []
    for i in range(len(speeds)):
        vector.append([speeds[i], directions[i]])
    return vector

speeds = [1, 2, 3]
directions = [4, 5, 6]

v = get_two_dimensional_vector(speeds, directions)
print(v)

现在,用Python的方式来做。在

^{pr2}$

相关问题 更多 >