首页 > 解决方案 > 使用循环创建以列表中元素命名的变量

问题描述

我正在尝试使用 Python 和 Tkinter 创建一个注册表单...

为了保持整洁,我想迭代 this 的元素list

signup_fields = ['first_name', 'last_name', 'username', 'password', 'confirm_password', 'email', 'confirm_email', 'height', 'weight']

使用类似这样for的循环来创建输入框:

for field in signup_fields:
    {field} = tk.Entry()
    {field}.pack()

如您所见,我将“字段”放在“{}”大括号中,以尝试让 Python 根据列表中的字符串命名变量。我不知道该怎么做,也没有在网上找到解决方法。

标签: pythonlistvariablestkinteriteration

解决方案


你不想那样做。相反,将小部件存储在字典中。代码将更容易理解和调试。

entries = {}
for field in signup_fields:
    entries[field] = tk.Entry()

对于其他替代方案,请参阅如何创建变量变量?


推荐阅读