我可以使用字典在Python中创建菜单吗



我想用Python(使用最新版本(构建一个菜单。例如:

menu_options = {
1: {'Option 1', 'regular'},
2: {'Option 2',  'regular'},
3: {'Option 3', 'admin'}
}

我将有两种类型的用户,常规和管理员。所以当我打印这个菜单时,我会检查我的用户类型,然后打印所有三个选项以进行管理。。。或者对于普通用户仅为1和2。

def print_menu(user_type):
for key in menu_options.keys():
item, level = menu_options[key]
if (user_type == 'admin'):
print(key, '--', item)
elif (level == 'regular'):
print(key, '--', item)

很明显,字典有点神奇,我不会按照创建字典时的顺序获取值。。。

1 -- Option 1
2 -- Option 2
3 -- Option 3

其他数据类型对我来说能更好地工作吗?我在文档中看到了OrderedDict,但我不确定这是否只是对元素进行排序的问题。。。

这并不是说字典很神奇。您只是为字典中存储的值使用了不合适的数据类型。

使用列表或元组而不是集合。

除此之外,如果您只想按元素的位置枚举元素,则字典不是您所需要的。元组列表已经可以做到这一点。

最新更新