【问题标题】:Simplify Python array retrieval of values简化值的 Python 数组检索
【发布时间】:2022-12-03 05:40:52
【问题描述】:

我现在有以下代码可以完美运行:-

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

任何帮助将不胜感激!

谢谢

【问题讨论】:

    标签: python python-3.x list


    【解决方案1】:

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

    my_array = [["var1", 1], ["var2", 2], ["var3", 3], ["var4", 4], ["var5", 5]]
    
    dct = dict(my_array)
    
    # print var1
    print(dct["var1"])
    

    印刷:

    1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多