在 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
}
}
在 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
}
}