首页 > 解决方案 > 为列表中的每个项目分配一个变量 [Python]

问题描述

我试图为列表中的每个项目分配一个变量,但不知道列表有多长。我在这个解决方案网站上阅读了相当多的内容,我对是否使用 exec 甚至使用什么感到困惑。我想要的一个例子是:

list = ['123', '1345', '521'] # Not always going to be 3, I don't know how long the list will be.

var1 = list[0]
var2 = list[1]
var3 = list[2]

check = input(f'Option 1: {var1}\nOption 2: {var2}\nOption 3: {var3}') # I want to make an input so I can chose what item I want to interact with.

if check == '1':
    #interact with option 1
    # Example: print(var1)
elif check == '2':
    #interact with option 2
    # Example: print(var2)
elif check == '3':
    #interact with option 3
    # Example: print(var3)
else:
    print('Invalid Option.')

以上是我想要做的一个例子。很多人说动态变量不好,还是不好用?我不确定要真正做到这一点。

标签: python

解决方案


要添加到其他人,您可以通过迭代列表来构建输入字符串,enumerate以跟踪选项索引

l = ['123', '1345', '521']

# build input string
input_str = ''
for i, itm in enumerate(l, 1):
    input_str += f'Option {i}: {itm}\n'

check = int(input(input_str))

if not check or check > len(l):
    print('Invalid Option.')
else:
    option = l[check - 1]
    # interact with option
    print(option)

推荐阅读