我的代码如下所示:
var dict = ["a": 1, "b": 2]
var valueInDict = 1
我的问题是,是否可以仅使用该值来访问密钥,在本例中为“a”。
答案 0 :(得分:8)
使用记录字典值和键属性具有相同顺序的事实:
Stack* Delete_theNode(int the_node) {
//check if it is on the head
if (the_node==head->number) {
Stack * temp = head;
head = head->next;
free(temp);
return;
}
Stack* cur = head->next;
Stack* prev = head;
//while cur is not NULL and prev is not NULL, this is also legit
while (!cur && !prev) {
if (the_node == cur->number) {
Stack *tmp = cur;//the deleted node
prev->next = cur->next;
free(tmp);
return;
}
prev = cur;
cur = cur->next;
}
}
答案 1 :(得分:3)
无法通过其值获取 键,因为多个键可以具有相同的值。例如,如果你制作这样的字典
let dict = [
"a" : 7
, "b" : 3
, "c" : 11
, "d" : 7
, "e" : 3
, "f" : 11
]
并尝试找到值7
的键,会有两个这样的键 - "a"
和"d"
。
如果您想查找映射到特定值的所有键,可以像这样迭代字典:
let search = 7
let keys = dict // This is a [String:int] dictionary
.filter { (k, v) -> Bool in v == search }
.map { (k, v) -> String in k }
这会生成具有search
值的所有条目的键,或者在字典中不存在search
值时生成空数组。