在字典中交换值的键?

bri*_*one 3 swift

我在Swift中有一个字典,如下所示:

[
    0: "82",
    1: "12",
    2: "3",
    3: "42"
    // Etc.
]
Run Code Online (Sandbox Code Playgroud)

并且假设我想将键交换为值82和3,因此新词典如下所示:

[
    0: "3",
    1: "12",
    2: "82",
    3: "42"
    // Etc.
]
Run Code Online (Sandbox Code Playgroud)

我该怎么做?(我没有找到任何提示,也不知道如何去做,所以我没有尝试过这个代码)

编辑:

我这样做了:

var first_key = 0
var second_key = 2
var first_value = dict[first_key]!
var second_value = dict[second_key]!
dict[first_key] = second_value
dict[second_key] = first_value
Run Code Online (Sandbox Code Playgroud)

Ant*_*nio 6

当你必须交换变量时,最简单的方法是使用元组.

如果你想交换xy:

(x, y) = (y, x)
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

(dict[0], dict[2]) = (dict[2], dict[0])
Run Code Online (Sandbox Code Playgroud)


Mic*_*lum 5

基本思想是创建一个临时变量,以便在交换它们时保存其中一个值.

let tmp = dict[0]
dict[0] = dict[2]
dict[2] = tmp
Run Code Online (Sandbox Code Playgroud)

或者您可以使用全局交换功能(在内部执行相同的操作).

var dict = [
    0: "82",
    1: "12",
    2: "3",
    3: "42"
]

swap(&dict[0], &dict[2])
Run Code Online (Sandbox Code Playgroud)