Python:从用户输入调用预定义的变量/列表/等



提前感谢您的帮助!我在 Python 中有以下问题(我使用 Py 3.6.5):

  1. 我有一些列表,其中包含一些值。(我想将这些值用作整个程序的预定义常量。

  2. 在主程序中,程序要求用户命名其中一个列表。例如。用户写入:列表 1

  3. 我想编写一个函数,然后返回 List1 的第一个元素。如果用户编写 List2,则函数应打印 List2 的第一个元素,依此类推(不是必需的,仅在需要所需结果时才)

我希望代码看起来像这样。我只是想指出,用户的输入存储在"变量"中,然后将其提供给ListCall函数。

List1 = [1,2,3]
List2 = [4,5,6]
def ListCall(List):
#Some Code
print(List[0])
# MAIN
Variable = input('Please choose a List: ')
ListCall(Variable)

不知何故,我设法使用以下代码实现了这个预期的结果:

List1 = [1,2,3]
List2 = [4,5,6]
Variable = vars()[(input('Please choose a List: '))]
print("First element of the choosen List is: ", Variable[0])

但我很确定,这不是最优雅的方法,vars() 可能不适合这种用法。 我什至不坚持使用单独的 ListCall 函数,如果不需要的话......我只是希望它以最合适的方法工作。

您可以将列表存储在字典中:

my_dict = {
"List1": [1, 2, 3],
"List2": [4, 5, 6]
}
variable = input('Please choose a List: ')
try:
print("First element of the choosen List is: ", my_dict[variable][0])
except KeyError:
print("The list " + variable + "do not exist")

相关内容

  • 没有找到相关文章

最新更新