鱼C论坛

 找回密码
 立即注册
查看: 1434|回复: 6

[已解决]请问一下关于字典的问题?

[复制链接]
发表于 2020-7-18 21:57:04 | 显示全部楼层 |阅读模式

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

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

x
>>> dict1.fromkeys((1, 2, 3), ('one', 'two', 'three'))
>>> dict1.fromkeys((1, 3), '数字')
问题是执行完上边代码后会出现 :
{1: '数字', 3: '数字'}            它代表什么含义呢?是字典dict1有这些键值吗?
可是为什么在执行dict1或print(dict1)是却显示{},
这是为什么呢???
最佳答案
2020-7-18 22:00:15
本帖最后由 Twilight6 于 2020-7-18 22:02 编辑



fromkeys 函数是创建新的字典,你需要赋值给一个变量才行,比如你这里的代码:
dict1 = {}
a = dict1.fromkeys((1, 2, 3), ('one', 'two', 'three'))
b = dict1.fromkeys((1, 3), '数字')
print(a)
print(b)
输出结果:
{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}
{1: '数字', 3: '数字'}

而 fromkeys 的第一个参数是对应的 key键

而第二个参数的所以键对应的 value值 ,所以你第一个运行后结果为键对应('one', 'two', 'three') 元组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-18 21:59:28 | 显示全部楼层
问题是执行完上边代码后会出现 :
{1: '数字', 3: '数字'}            它代表什么含义呢?是字典dict1有这些键值吗?
是 dict.fromkeys 的返回值。
可是为什么在执行dict1或print(dict1)是却显示{},
dict.fromkeys 是一个类方法,他只会创建一个新字典,不会修改原字典。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-18 22:00:13 | 显示全部楼层
fromkeys()方法返回一个新的字典,原字典不会变
 a=dict1.fromkeys((1, 3), '数字')
print(a)
print(dict1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-18 22:00:15 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-7-18 22:02 编辑



fromkeys 函数是创建新的字典,你需要赋值给一个变量才行,比如你这里的代码:
dict1 = {}
a = dict1.fromkeys((1, 2, 3), ('one', 'two', 'three'))
b = dict1.fromkeys((1, 3), '数字')
print(a)
print(b)
输出结果:
{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}
{1: '数字', 3: '数字'}

而 fromkeys 的第一个参数是对应的 key键

而第二个参数的所以键对应的 value值 ,所以你第一个运行后结果为键对应('one', 'two', 'three') 元组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-18 22:04:36 | 显示全部楼层
谢谢大家的热心帮助,明白啦!!!,我感觉创建字典的方法太多,五种很难记,有没有好方法啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-18 22:05:43 | 显示全部楼层
xizi123 发表于 2020-7-18 22:04
谢谢大家的热心帮助,明白啦!!!,我感觉创建字典的方法太多,五种很难记,有没有好方法啊!


没事,不用特意去记忆~你以后用多了就慢慢计下来了,我们还要学很多函数呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-18 22:09:02 | 显示全部楼层
Twilight6 发表于 2020-7-18 22:05
没事,不用特意去记忆~你以后用多了就慢慢计下来了,我们还要学很多函数呢

好哒!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 23:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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