简化值的Python数组检索

amrnrhlw  于 2022-12-05  发布在  Python
关注(0)|答案(1)|浏览(102)

我有下面的代码在目前完美的工作:-

my_array = [
    ['var1', 1], ['var2', 2], ['var3', 3], ['var4', 4], ['var5', 5]
]

for i in range(len(my_array)):
    if my_array[i][0] == "var1":
        var_a = my_array[i][1]
    elif my_array[i][0] == "var2":
        var_b = my_array[i][1]
    elif my_array[i][0] == "var3":
        var_c = my_array[i][1]
    elif my_array[i][0] == "var4":
        var_d = my_array[i][1]
    elif my_array[i][0] == "var5":
        var_e = my_array[i][1]
        
print(var_a)
print(var_b)
print(var_c)
print(var_d)
print(var_e)

有没有一种方法可以简化我获取值的方式,而不是使用多个“elif”?
我试过这样的方法:

var_f = my_array[i]["var1"]
print(var_f)

但我得到一个错误:-

TypeError: list indices must be integer, not str

任何帮助都将不胜感激!
谢谢你

zqdjd7g9

zqdjd7g91#

您可以将my_array转换为dict以简化值的检索:

my_array = [["var1", 1], ["var2", 2], ["var3", 3], ["var4", 4], ["var5", 5]]

dct = dict(my_array)

# print var1
print(dct["var1"])

印刷品:

相关问题