python字典动态添加问题

想创建字典列表,即下图所示

img


但是由于想对其改善,即动态的添加,

img


但是就是会出现这个情况:第二个字典添加进去的时候,那个标题没了…

img


所以有什么办法可以解决吗?

从代码中看,你的字典是嵌套的,所以你对于n<2和其他情况的处理根本不是一回事。update()方法是将两个字典组合起来,而非将某个字典添加到另一个字典里面,所以也不存在标题没了的情况。
如果想要在字典中增加内容,直接通过这样就可以:

users["key"] = "value"

key是键,value是值

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7636753
  • 你也可以参考下这篇文章:开始学习python啦,按照课程的要求做了老师发出来的一道题,慢慢思考慢慢写出来的,对字典,列表的理解更深刻了一些,题目:键盘输入某班各个同学就业的行业名称,行业名称之间用空格间隔(回车结束输入)代码
  • 同时,你还可以查看手册:python- 定义扩展类型:已分类主题- 终结和内存释放 中的内容
  • 您还可以看一下 董付国老师的Python可以这样学(第八季:课堂教学管理系统设计与开发实战)课程中的 补充功能:学生端通过鼠标拖放实现作业上传小节, 巩固相关知识点
  • 除此之外, 这篇博客: python 算法编程练习二中的 提示:如果输入数据被提供给问题,则应该假定它是控制台输入。 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    问题的解决办法如下所示:

    首先,需要了解字典和列表的基本操作。字典(Dictionary)是Python中的一种数据结构,用于存储键值对。列表(List)也是一种数据结构,用于存储有序的元素序列。

    根据问题的描述,需要创建一个字典列表,每个字典包含一个标题和一个项目列表。原始的字典列表可以通过以下代码创建:

    # 创建字典列表
    dict_list = [
        {'title': '标题1', 'items': ['项目1', '项目2', '项目3']},
        {'title': '标题2', 'items': ['项目4', '项目5', '项目6']},
    ]
    

    接下来,我们需要实现动态添加功能。可以通过以下步骤实现:

    1. 创建一个空的字典列表,作为初始列表。
    dict_list = []
    
    1. 提示用户输入标题和项目列表,存储在一个字典中。
    title = input("请输入标题: ")
    items = input("请输入项目列表,以逗号分隔: ").split(",")
    
    1. 创建一个新的字典,包含用户输入的标题和项目列表。
    new_dict = {'title': title, 'items': items}
    
    1. 将新创建的字典添加到字典列表中。
    dict_list.append(new_dict)
    
    1. 打印最新的字典列表,展示动态添加的效果。
    print(dict_list)
    

    完整的代码如下所示:

    # 创建空的字典列表
    dict_list = []
    
    # 动态添加功能
    while True:
        # 提示用户输入标题和项目列表
        title = input("请输入标题: ")
        items = input("请输入项目列表,以逗号分隔: ").split(",")
    
        # 创建新的字典
        new_dict = {'title': title, 'items': items}
    
        # 将新字典添加到字典列表中
        dict_list.append(new_dict)
    
        # 打印最新的字典列表
        print(dict_list)
    

    这样,每次循环用户输入标题和项目列表后,就会将新的字典添加到字典列表中,并且能够展示所有的字典。

    请注意,这段代码是一个无限循环,需要手动停止程序的运行。可以通过点击运行环境内的停止按钮或者按下Ctrl+C来停止程序。

    希望以上解决方案对您有帮助,如果还有其他问题,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

users.append(str1)