你必须知道的Python Dict和Set实用技巧分享

 更新时间:2025年05月16日 08:58:57   作者:烛阴  
这篇文章主要为大家详细介绍了一些Python中Dict和Set的实用技巧,文中的示例代码简洁易懂,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下

一、Dict(字典):键值对的魔法

1. 基本用法(创建和访问)

person = {"name": "Alice", "age": 25, "city": "Shanghai"}
print(person["name"])  # 输出:Alice

2. 字典的高效查找

字典的查找速度极快,时间复杂度为 O(1)。相比 list 的 O(n),处理大量数据时优势明显。

3. 字典推导式

squares = {x: x*x for x in range(1, 6)}
print(squares)  # 输出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

4. get() 方法,优雅处理 KeyError

person = {"name": "Alice", "age": 25}
score = person.get("score", 0)
print(score)  # 输出:0

5. 合并字典的正确姿势

a = {"x": 1, "y": 2}
b = {"y": 3, "z": 4}
c = {**a, **b}
print(c)  # 输出:{'x': 1, 'y': 3, 'z': 4}

6.注意事项

  • dict (字典)是不允许一个键创建两次的,但是在创建 dict (字典)的时候如果出现了一个键值赋予了两次,会以最后一次赋予的值为准
  • dict (字典)键必须不可变,可是键可以用数字,字符串或元组充当,但是就是不能使用列表

7.dict (字典) 的函数和方法

方法和函数描述
len(dict)计算字典元素个数
str(dict)输出字典可打印的字符串表示
type(variable)返回输入的变量类型,如果变量是字典就返回字典类型
dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.values()以列表返回字典中的所有值
popitem()随机返回并删除字典中的一对键和值
dict.items()以列表返回可遍历的(键, 值) 元组数组

二、Set(集合):去重与高效运算的利器

1. 基本用法(创建)

set1=set([123,456,789])
print(set1)
fruits = {"apple", "banana", "orange"}
fruits.add("pear")
print(fruits)

2. 集合去重

nums = [1, 2, 2, 3, 4, 4, 5]
unique_nums = set(nums)
print(unique_nums)  # 输出:{1, 2, 3, 4, 5}

3. 集合的高效运算

  • 交集:&
  • 并集:|
  • 差集:-
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)  # 输出:{2, 3}
print(a | b)  # 输出:{1, 2, 3, 4}
print(a - b)  # 输出:{1}

4. 集合推导式

even = {x for x in range(10) if x % 2 == 0}
print(even)  # 输出:{0, 2, 4, 6, 8}

三、总结

Dict 适合存储映射关系,查找速度极快

Set 适合去重和集合运算,效率高

掌握推导式、合并、去重等技巧,让你的代码更 Pythonic!

到此这篇关于你必须知道的Python Dict和Set实用技巧分享的文章就介绍到这了,更多相关Python Dict和Set技巧内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 调试Django时打印SQL语句的日志代码实例

    调试Django时打印SQL语句的日志代码实例

    这篇文章主要介绍了调试Django时打印SQL语句的日志代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python实现滑块验证码详解

    Python实现滑块验证码详解

    验证码作为一种自然人的机器人的判别工具,被广泛的用于各种防止程序做自动化的场景中。传统的字符型验证安全性已经名存实亡的情况下,各种新型的验证码如雨后春笋般涌现,今天给大家分享一篇Python实现滑块验证码
    2022-05-05
  • python实现网上购物系统

    python实现网上购物系统

    这篇文章主要为大家详细介绍了python实现网上购物系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • pandas对齐运算的实现示例

    pandas对齐运算的实现示例

    本文主要介绍了pandas对齐运算的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • python Pandas库基础分析之时间序列的处理详解

    python Pandas库基础分析之时间序列的处理详解

    这篇文章主要介绍了python Pandas库基础分析之时间序列的处理详解,Pandas作为Python环境下的数据分析库,更是提供了强大的日期数据处理的功能,是处理时间序列的利器,需要的朋友可以参考下
    2019-07-07
  • 使用python快速在局域网内搭建http传输文件服务的方法

    使用python快速在局域网内搭建http传输文件服务的方法

    这篇文章主要介绍了使用 python快速在局域网内搭建http传输文件服务,但是这种方法不要传输机密文件,安全性不高,只用到http协议没有使用任何加密协议,具体实现方法跟随小编一起看看吧
    2019-11-11
  • python实现批量处理将图片粘贴到另一张图片上并保存

    python实现批量处理将图片粘贴到另一张图片上并保存

    今天小编就为大家分享一篇python实现批量处理将图片粘贴到另一张图片上并保存,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python设计模式之单例模式你了解多少

    python设计模式之单例模式你了解多少

    这篇文章主要为大家详细介绍了python设计模式之单例模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • keras 自定义loss损失函数,sample在loss上的加权和metric详解

    keras 自定义loss损失函数,sample在loss上的加权和metric详解

    这篇文章主要介绍了keras 自定义loss损失函数,sample在loss上的加权和metric详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python+PyQt5开发一个智能键盘模拟输入器(附整体源码)

    Python+PyQt5开发一个智能键盘模拟输入器(附整体源码)

    在当今数字化办公时代,自动化工具已经成为提高工作效率的重要利器,今天我要向大家介绍一款基于PyQt5和pynput库开发的智能键盘模拟输入器,感兴趣的小伙伴可以了解下
    2025-10-10

最新评论