鱼C论坛

 找回密码
 立即注册
查看: 972|回复: 10

[已解决]修改字典求解

[复制链接]
发表于 2022-1-4 19:44:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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 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[i]["duit"] = person_card[i].pop("duty") # 修改 key(键)

for i in person_card.keys():
    print(person_card[i]) # 打印修改后结果
{'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': '西天取经'}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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[i])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-4 20:07:21 | 显示全部楼层

好的谢谢,那把其中一个duty改成duit怎么改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-4 20:25:51 | 显示全部楼层
新手迷茫 发表于 2022-1-4 20:07
好的谢谢,那把其中一个duty改成duit怎么改

改值好改,改键的话好像只能删掉重新增加咯
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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[i]["duit"] = person_card[i].pop("duty") # 修改 key(键)

for i in person_card.keys():
    print(person_card[i]) # 打印修改后结果
{'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': '西天取经'}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-4 22:06:49 | 显示全部楼层

修改可以是可以,就是要那种位置不变的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-4 22:09:04 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2022-1-4 22:10 编辑
新手迷茫 发表于 2022-1-4 22:06
修改可以是可以,就是要那种位置不变的


字典里的位置不重要,字典是无序的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-4 22:10:43 | 显示全部楼层
傻眼貓咪 发表于 2022-1-4 22:09
字典里的位置不重要,字典是无排序的

但是要求不能改变顺序哈搞半天都搞不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-4 22:12:07 | 显示全部楼层
新手迷茫 发表于 2022-1-4 22:10
但是要求不能改变顺序哈搞半天都搞不会
以其搞些无意义的,不如学些有意义的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-4 22:47:27 | 显示全部楼层
傻眼貓咪 发表于 2022-1-4 22:09
字典里的位置不重要,字典是无序的

3.6以後字典是有序的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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 缓存。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-13 17:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表