【发布时间】:2016-12-29 16:53:13
【问题描述】:
我有一本像这样的字典:
let ints: [Int: String] = [
0: "0",
1: "1",
2: "2",
3: "3",
4: "4",
5: "5",
6: "6",
7: "7",
8: "8",
9: "9",
10: "A",
11: "B",
// etc...
]
我可以用ints[5] 查找一个整数来得到"5"。如何从字符串中查找整数?我想做类似ints.keys["5"] -> 5。
目前,我刚刚把字典倒过来写了:
let chars: [String: Int] = [
"0": 0,
"1": 1,
"2": 2,
"3": 3,
"4": 4,
"5": 5,
"6": 6,
"7": 7,
"8": 8,
"9": 9,
"A": 10,
"B": 11,
// etc...
]
我可以通过chars["5"] 获取5,但这是一个麻烦的解决方案,因为我的字典很大,并且希望能够在需要时轻松更改它。
澄清
我不想以编程方式构建字典,而只是保留一个硬编码。
【问题讨论】:
-
有什么理由用手把它们写下来吗?映射看起来很基本。
-
为了让问题更容易解释,我把它写下来了。
-
好吧,你说得太简单了。映射甚至是可逆的吗?总是1:1吗?
-
Swift dictionary get key for value 的可能重复项。 – 但是,如果您对 same 字典进行 许多 查找,那么我建议您使用一次反向映射创建一个字典。
标签: arrays swift dictionary