我想用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
,但我不确定这是否只是对元素进行排序的问题。。。
这并不是说字典很神奇。您只是为字典中存储的值使用了不合适的数据类型。
使用列表或元组而不是集合。
除此之外,如果您只想按元素的位置枚举元素,则字典不是您所需要的。元组列表已经可以做到这一点。