新手迷茫 发表于 2022-1-4 19:44:55

修改字典求解

person_card={"小生":{"gende":"男","age":18,"height":185,"...":"...","duty":"西天取经","addr":"天族",},
"小明":{"gende":"男","age":19,"height":155,"...":"...","duty":"西天取经","addr":"天族",},
"小华":{"gende":"女","age":18,"height":165,"...":"...","duty":"西天取经","addr":"天族",},
"小丽":{"gende":"女","age":12,"height":175,"...":"...","duty":"西天取经","addr":"天族",},
             }

修改一个身高跟addr并且输出修改后的person_card

傻眼貓咪 发表于 2022-1-4 19:58:49

你是想要这样?
person_card = {
    "小生": {"gende": "男", "age": 18, "height": 185, "...": "...", "duty": "西天取经", "addr": "天族"},
    "小明": {"gende": "男", "age": 19, "height": 155, "...": "...", "duty": "西天取经", "addr": "天族"},
    "小华": {"gende": "女", "age": 18, "height": 165, "...": "...", "duty": "西天取经", "addr": "天族"},
    "小丽": {"gende": "女", "age": 12, "height": 175, "...": "...", "duty": "西天取经", "addr": "天族"}}


person_card["小华"]["height"] = 399 # 修改高度

for i in person_card.keys():
    print(person_card)

新手迷茫 发表于 2022-1-4 20:07:21

傻眼貓咪 发表于 2022-1-4 19:58
你是想要这样?

好的谢谢,那把其中一个duty改成duit怎么改

大马强 发表于 2022-1-4 20:25:51

新手迷茫 发表于 2022-1-4 20:07
好的谢谢,那把其中一个duty改成duit怎么改

改值好改,改键的话好像只能删掉重新增加咯{:10_257:}{:10_257:}

傻眼貓咪 发表于 2022-1-4 20:34:56

新手迷茫 发表于 2022-1-4 20:07
好的谢谢,那把其中一个duty改成duit怎么改


person_card = {
    "小生": {"gende": "男", "age": 18, "height": 185, "...": "...", "duty": "西天取经", "addr": "天族"},
    "小明": {"gende": "男", "age": 19, "height": 155, "...": "...", "duty": "西天取经", "addr": "天族"},
    "小华": {"gende": "女", "age": 18, "height": 165, "...": "...", "duty": "西天取经", "addr": "天族"},
    "小丽": {"gende": "女", "age": 12, "height": 175, "...": "...", "duty": "西天取经", "addr": "天族"}}

for i in person_card.keys():
    person_card["duit"] = person_card.pop("duty") # 修改 key(键)

for i in person_card.keys():
    print(person_card) # 打印修改后结果{'gende': '男', 'age': 18, 'height': 185, '...': '...', 'addr': '天族', 'duit': '西天取经'}
{'gende': '男', 'age': 19, 'height': 155, '...': '...', 'addr': '天族', 'duit': '西天取经'}
{'gende': '女', 'age': 18, 'height': 165, '...': '...', 'addr': '天族', 'duit': '西天取经'}
{'gende': '女', 'age': 12, 'height': 175, '...': '...', 'addr': '天族', 'duit': '西天取经'}

新手迷茫 发表于 2022-1-4 22:06:49

傻眼貓咪 发表于 2022-1-4 20:34


修改可以是可以,就是要那种位置不变的

傻眼貓咪 发表于 2022-1-4 22:09:04

本帖最后由 傻眼貓咪 于 2022-1-4 22:10 编辑

新手迷茫 发表于 2022-1-4 22:06
修改可以是可以,就是要那种位置不变的

字典里的位置不重要,字典是无序的

新手迷茫 发表于 2022-1-4 22:10:43

傻眼貓咪 发表于 2022-1-4 22:09
字典里的位置不重要,字典是无排序的

但是要求不能改变顺序哈{:5_96:}搞半天都搞不会

傻眼貓咪 发表于 2022-1-4 22:12:07

新手迷茫 发表于 2022-1-4 22:10
但是要求不能改变顺序哈搞半天都搞不会

以其搞些无意义的,不如学些有意义的

天黑收衣服 发表于 2022-1-4 22:47:27

傻眼貓咪 发表于 2022-1-4 22:09
字典里的位置不重要,字典是无序的

3.6以後字典是有序的

傻眼貓咪 发表于 2022-1-4 23:06:10

天黑收衣服 发表于 2022-1-4 22:47
3.6以後字典是有序的

这我知道,但你指的是按照字典key插入的顺序进行排序!
Python 2.7 版中的有序 dict 比普通 dict 消耗更多内存。这是由于用于保持顺序的底层双链表实现。在 Python 2.7 Ordered Dict 不是 dict 子类,它是来自 collections 模块的专用容器。
从 Python 3.7 开始,Python 字典的插入顺序是有保证的。
在popitem函数的帮助下,Ordered Dict 可以用作堆栈。尝试使用 Ordered Dict 实现 LRU 缓存。
页: [1]
查看完整版本: 修改字典求解