Python-使用变量作为列表名称

发布于 2021-01-29 17:57:45

我在python中有此代码。

import sys
list1 = ["A", "B", "C"]
list2 = [1, 2, 3]

myarg = sys.argv[1]
print len(myarg)

我将从这样的命令行运行此脚本

python script.py list1

因此,我需要一种使len使用列表而不是变量的方法,我只想在var中给出列表的名称。

我知道在这个例子中我可以做

if myarg == "list1":
    print len(list1)
else if myarg == "list2"
    print len(list2)

但是我的脚本上有13个列表,我需要一种方法,可以通过在命令行上输入的名称来引用它们。

关注者
0
被浏览
172
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    尽管这在Python中是完全可能的,但不是必需的。最好的解决方案是不执行此操作,而是使用字典。

    import sys
    
    lists = {
        "list1": ["A", "B", "C"],
        "list2": [1, 2, 3],
    }
    
    myarg = sys.argv[1]
    print len(lists[myarg])
    

    您会注意到脚本中有13个列表-您有许多相似的数据(或需要以类似方式处理的数据),这是您想要数据结构而不是平面变量的标志。这将使您的生活更加轻松。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看