如何存储键值对

时间:2019-06-17 16:55:43

标签: python keyvaluepair

我想存储键值对,但是我不知道该怎么做。

我想要实现的是一个将存储不同值对的变量。

我想要的是这样的东西:

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"

有没有办法为许多不同的唯一值对实现类似的功能?

3 个答案:

答案 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)}