需要帮助打印列表

Need help printing list

我正在 Python 中处理待办事项列表,目前我正在打印待办事项列表。

我有这样的添加代码和查看代码:

if sel == '1': #add task        
     name = input("enter task name: ")
     prio = input("enter priority level (High | Medium | Low): ")
     add(todo, name, prio)
     view(task)
elif sel == '3': #print todo list
     view2(task)
     exit

这些是我使用的函数:

def add(todo, x, y):
    todo[x] = y

def view(x):
    x.append(dict(todo))

def view2(x):
    print(x)

我可以将项目添加到字典中第一次打印字典我 select 打印列表的选项。我第二次打印它给出了以下输出

[{'test 1': 'low'}, {'test 1': 'low', 'test 2 ': 'low'}]

我的最终目标是获得如下所示的输出,但我无法通过第一堵墙。有什么建议吗?另外,我是否需要打印嵌套字典来获取编号列表?

1 - test 1 - low
2 - test 2 - low

提前致谢!

假设view2(x)是打印函数,x是你在问题中提到的字典。

你可以这样做

def view2(x):
    for key, val in x.items():
        print("{0} - {1}".format(key, val))

此代码适用于列表中任意数量的待办事项。

todo_list = [{'test 1': 'low'}, {'test 2': 'low'}]
def show(todo_list):
    for index, todo in enumerate(todo_list, start=1):
        for key in todo.keys(): 
            print(index, key, todo[key])

show(todo_list)