sách gpt4 ai đã đi

Thay thế vị trí của một phần tử trong Mảng của Mảng

In lại 作者:可可西里 更新时间:2023-11-01 01:05:19 27 4
mua khóa gpt4 Nike

我一直在尝试运行此循环来更改基于数组的元素的位置,但出现以下错误。不太确定哪里出了问题。任何想法或想法!谢谢。

nhập mô tả hình ảnh ở đây

var population = [[98, 8, 45, 34, 56], [9, 13, 65, 4, 90], [24, 5, 4, 56, 88], [3, 55, 22, 19, 10]]

private func randomIntergerInRange(low:Int, high:Int) -> Int {
let randomGeneratedNumber = low + Int(arc4random()) % (high - low);
return Int(randomGeneratedNumber)
}

for individual in population {
var mutate = 0.01

if mutate > Double(Float(arc4random()) / Float(UINT32_MAX)) {

var positionToMutate = randomIntergerInRange(0, (individual.count - 1))

var valueToAssign = randomIntergerInRange(minElement(individual), maxElement(individual))

individual[positionToMutate] = valueToAssign
print(individual)

}
}

1 Câu trả lời

数组按值传递,因此当您在每次迭代中使用 individual 时,它会被分配一份 population 子数组的副本,即使您使用 对于 var individual in population ... 您只改变原始数组的副本。

如果你想改变原始数组的值,你可以使用索引来实现,例如:

for index in population.indices {
var mutate = 0.01

if mutate > Double(Float(arc4random()) / Float(UINT32_MAX)) {

var positionToMutate = randomIntergerInRange(0, (population[index].count - 1))

var valueToAssign = randomIntergerInRange(minElement(population[index]), maxElement(population[index]))

population[index][positionToMutate] = valueToAssign
print(population[index])

}
}

关于arrays - 替换 Array of Array 中元素的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298536/

27 4 0
Bài viết được đề xuất: ios - 滑动手势结束时快速调用函数
Bài viết được đề xuất: Java Map 实现不是基于 HashCode
Bài viết được đề xuất: php - 是否可以将 cookie 的无限时间设置为 session 变量?
Bài viết được đề xuất: ios - 解析不区分大小写的登录
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com