欢迎光临
我们一直在努力

Python 字典 dict.fromkeys() 函数 超详细、零基础详解

Python 字典 dict.fromkeys() 函数 超详细、零基础详解

文章目录

  • Python 字典 dict.fromkeys() 函数 超详细、零基础详解
    • 1. 它是什么?
      • 作用:
    • 2. 语法(固定格式)
      • 两个参数:
        • 1.序列(必须)
        • 2.默认值(可选)
    • 3. 最核心特点(一定要记)
    • 4. 超级简单例子(一看就懂)
      • 例子 1:只传列表,value 默认 None
      • 例子 2:指定默认值
      • 例子 3:用字符串当序列
    • 5. 为什么它能用来列表去重?
    • 6. 超级重要的坑(新手必看)
    • 7. 一句话总结

我用最简单的话 + 超多例子把这个函数彻底讲清楚,保证你一看就会、永远记住!

1. 它是什么?

fromkeys() 是 Python 字典(dict)自带的创建新字典的函数。

作用:

用一个列表 / 集合 / 元组里的元素当 字典的键(key),自动创建一个新字典。

2. 语法(固定格式)

字典变量 = dict.fromkeys(序列, 默认值)

两个参数:

1.序列(必须)

可以是:列表、元组、字符串、集合 里面的每一个元素都会变成字典的 key

2.默认值(可选)

所有 key 对应的 value 都用这个值 不写的话,默认是 None

3. 最核心特点(一定要记)

1.key 不能重复 → 自动去重 2.Python 3.7+ 字典会保持顺序 3.所有 key 共用同一个 value

4. 超级简单例子(一看就懂)

例子 1:只传列表,value 默认 None

list1 = [11, 22, 33, 22, 11]

d = dict.fromkeys(list1)
print(d)

结果:

{11: None, 22: None, 33: None}

  • 重复的 11、22 自动去掉
  • 顺序保持不变
  • 值都是默认的 None

例子 2:指定默认值

list1 = [11,22,33]
d = dict.fromkeys(list1, 0)
print(d)

结果:

{11: 0, 22: 0, 33: 0}

所有 key 的 value 都变成 0

例子 3:用字符串当序列

d = dict.fromkeys("abc")
print(d)

结果:

{'a': None, 'b': None, 'c': None}

5. 为什么它能用来列表去重?

因为:

  • 列表 → 传给 fromkeys → 变成字典 key
  • key 不能重复 → 自动去重
  • 再用 list() 把 key 取出来 → 得到去重后的列表

list1 = [11,22,33,22,11,55]
new_list = list(dict.fromkeys(list1))
print(new_list)

结果:

[11,22,33,55]

6. 超级重要的坑(新手必看)

不要给可变类型(列表、字典)当默认值! 例子(错误示范):

d = dict.fromkeys([1,2,3], [])
d[1].append(666)
print(d)

你以为只会改 key=1,结果:

{1: [666], 2: [666], 3: [666]}

所有 key 用的是同一个列表!

7. 一句话总结

dict.fromkeys(序列, 默认值) = 用序列里的元素当 key,创建一个新字典,自动去重,保持顺序

赞(0)
未经允许不得转载:171主机测评 » Python 字典 dict.fromkeys() 函数 超详细、零基础详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址