python - 为列表中的每个项目分配一个变量 [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.')
以上是我想要做的一个例子。很多人说动态变量不好,还是不好用?我不确定要真正做到这一点。
解决方案
要添加到其他人,您可以通过迭代列表来构建输入字符串,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)
推荐阅读
- asp.net-core - 在 httpContextAccessor.HttpContext 上返回 null
- python - 如何在免费/开源模式下使用 plot.ly
- pandas - 将矩阵转换为虚拟矩阵
- c# - C# 无法从值(字符串 [])中获取字典键(字符串)
- python - 在 Keras 中,如何使用无维度的 Reshape 图层?
- c# - 从文件 c# 加载图像
- python - 如果值是类似字典的格式,则从熊猫系列中提取数据
- python-3.x - python3烧瓶:如何在html中显示json结果
- ruby-on-rails - Rails HTML 到 PDF 使用 puppeteer(无头 chrome),如何将 html 发送到 puppeteer
- c++ - 如何将 const void* 转换为 unsigned int?