在 Swift 中迭代子数组时更改值

Change Values while Iterating Over Subarrays in Swift

在 Python 中有效的东西不想在 Swift 中起作用。

给定的是一个数组,其子数组包含数字。在迭代过程中,一旦存在问题元素在位置 0 包含某个值的条件,我想更改同一子数组中的其他值。

var coordinatesList = [[0, 1, 1, 1], [1, 12, 17, 23], [2, 81, 29, 66], [3, 41, 20, 94]]



for i in coordinatesList {
    if i[0] == 6 {
        i[3] = 5
    }
}

然而,我的意图失败了,因为我得到了元素 i 是一个 let 的错误消息。

一个错误消息,我对此无能为力,也不知道如何处理。

您可以迭代外部数组的索引。然后你可以使用索引读写内部数组:

for index in coordinatesList.indices {
    if coordinatesList[index][0] == 6 {
        coordinatesList[index][3] = 5
    }
}