我想存储键值对,但是我不知道该怎么做。
我想要实现的是一个将存储不同值对的变量。
我想要的是这样的东西:
if(key.equals("use_gps")) {
//TODO: CheckBox auswerten udn ggfs. Standortbestimmung starten oder stoppen
boolean checkbox = sharedPreferences.getBoolean("use_gps", true);
if (checkbox == true){
Toast.makeText(MainActivity.this, "true", Toast.LENGTH_LONG).show();
requestLocationUpdates();
} else {
Toast.makeText(MainActivity.this, "false", Toast.LENGTH_LONG).show();
removeLocationUpdates();
}
}
}
每个值对都是唯一的,我希望能够执行以下操作:
dic = {}
valuepair = (2,3), "cell1"
有没有办法为许多不同的唯一值对实现类似的功能?
答案 0 :(得分:1)
如果询问是否可以使用元组作为键-是的,例如:
dic[(2,3)] = "cell1"
print(dic[(2,3)])
将显示cell1
或创建像这样的逆字典:
inverse_d = {v:k for key, value in d}
答案 1 :(得分:0)
键值对表示映射到值的键。而且您所做的都是正确的,但是如果您掌握了钥匙,则可以从中获取价值。因此,当值(“ cell1”)已经是一个值时,就不必再次将其存储为键。对不起,如果我没有收到您的问题。或者,您也可以这样做:
x = [("k1","v1"),("k2,"v2")]
d = dict(x)
print(d)
输出:{“ k1”:“ v1”,“ k2”:“ v2”}
答案 2 :(得分:0)
您始终可以做到这一点,但是为什么需要它仍然是一个问题。
valuepairs = [[(2,3), "cell1"], [(4,5), "cell2"]]
dic = {}
for x, y in valuepairs:
dic[x] = y
dic[y] = x
print(dic)
# {(2, 3): 'cell1', 'cell1': (2, 3), (4, 5): 'cell2', 'cell2': (4, 5)}