10、dict set 常用方法大全

 一、特点分析

  • dict优势

dict查找和插入速度极快,不会随着key的增加而变慢

需要占用大量的内存

  • list优势

查找和插入的时间随着元素的增加而增加

占用空间小,节省内存

set与dict的原理是一样的,只是没有存储value

二、快速记忆卡片

字典记忆卡片:

1. 创建:{} 或 dict()

2. 访问:dict['key'] 或 dict.get('key', default)

3. 修改:dict['key'] = value

4. 删除:pop(), del, clear()

5. 遍历:for key in dict: 或 for key, value in dict.items():

集合记忆卡片:

1. 创建:{} 或 set()

2. 添加:add(), update()

3. 删除:remove(), discard(), pop(), clear()

4. 运算:| (并), & (交), - (差), ^ (对称差)

5. 判断:in, issubset(), issuperset()

特点记忆:

1、字典的核心特性记忆:

  • "键值对"存储
  • "花括号+冒号" {'key': value}
  • "唯一键"原则

2、集合的核心特性记忆:

  • "无序无重复"
  • "花括号"表示 {1, 2, 3}
  • "数学集合"操作

3、记忆强化

   # 字典CRUD操作记忆法:
   dict1['key'] = value     # Create/Update: 直接赋值
   dict1['key']             # Read: 直接访问
   dict1.get('key', 默认值)  # Read: 安全访问
   dict1.pop('key')         # Delete: 删除并返回值

   # 集合CRUD操作记忆法:
   set1.add(item)          # Create: 添加单个
   set1.update([items])    # Create: 添加多个
   item in set1            # Read: 成员判断
   set1.remove(item)       # Delete: 删除(不存在报错)
   set1.discard(item)      # Delete: 删除(不存在不报错)

代码讲解

# ============= 1. 字典(Dict)基础操作 =============
def dict_basic_operations():
    """字典基本操作示例"""
    # 创建字典的几种方式
    dict1 = {"name": "张三", "age": 18}  # 直接创建
    dict2 = dict(name="李四", age=20)  # 使用dict()创建
    dict3 = dict([("name", "王五"), ("age", 22)])  # 从列表创建

    # 1. 访问和修改
    print(dict1["name"])  # 访问元素:张三
    dict1["age"] = 19  # 修改元素
    dict1["score"] = 100  # 添加新元素

    # 2. 安全访问(推荐)
    age = dict1.get("age", 0)  # 如果key不存在,返回默认值0

    # 3. 删除操作
    removed_value = dict1.pop("score")  # 删除并返回值
    del dict1["age"]  # 直接删除
    last_item = dict1.popitem()  # 删除并返回最后一项
    dict1.clear()  # 清空字典


# ============= 2. 字典高级操作 =============
def dict_advanced_operations():
    """字典高级操作示例"""
    student = {"name": "张三", "age": 18, "score": 95}

    # 1. 遍历操作
    for key in student:  # 遍历键
        print(key)

    for key, value in student.items():  # 遍历键值对
        print(f"{key}: {value}")

    # 2. 字典合并
    info1 = {"name": "张三"}
    info2 = {"age": 18}
    info1.update(info2)  # 合并字典

    # 3. 字典推导式
    squares = {x: x**2 for x in range(5)}  # {0:0, 1:1, 2:4, 3:9, 4:16}


# ============= 3. 集合(Set)基础操作 =============
def set_basic_operations():
    """集合基本操作示例"""
    # 创建集合
    set1 = {1, 2, 3}  # 直接创建
    set2 = set([1, 2, 2, 3, 3])  # 从列表创建(自动去重)

    # 1. 添加和删除
    set1.add(4)  # 添加单个元素
    set1.update([5, 6, 7])  # 添加多个元素
    set1.remove(4)  # 删除元素(元素不存在会报错)
    set1.discard(4)  # 删除元素(元素不存在不报错)
    set1.pop()  # 随机删除并返回一个元素
    set1.clear()  # 清空集合


# ============= 4. 集合高级操作 =============
def set_advanced_operations():
    """集合高级操作示例"""
    A = {1, 2, 3, 4}
    B = {3, 4, 5, 6}

    # 1. 集合运算
    print(A | B)  # 并集:{1,2,3,4,5,6}
    print(A & B)  # 交集:{3,4}
    print(A - B)  # 差集:{1,2}
    print(A ^ B)  # 对称差集:{1,2,5,6}

    # 2. 集合推导式
    squares = {x**2 for x in range(5)}  # {0,1,4,9,16}

    # 3. 集合判断
    print(1 in A)  # 成员判断
    print(A.issubset(B))  # 子集判断
    print(A.issuperset(B))  # 超集判断


# ============= 5. 实际应用示例 =============
def practical_examples():
    """实际应用示例"""
    # 示例1:学生成绩管理
    scores = {
        "张三": {"语文": 80, "数学": 90, "英语": 85},
        "李四": {"语文": 85, "数学": 95, "英语": 88},
    }

    # 获取张三的数学成绩
    math_score = scores["张三"].get("数学", 0)

    # 示例2:词频统计
    text = "hello world hello python"
    word_count = {}
    for word in text.split():
        word_count[word] = word_count.get(word, 0) + 1

    # 示例3:去重列表
    numbers = [1, 2, 2, 3, 3, 4]
    unique_numbers = list(set(numbers))


# ============= 6. 快速记忆卡片 =============
"""
字典记忆卡片:
1. 创建:{} 或 dict()
2. 访问:dict['key'] 或 dict.get('key', default)
3. 修改:dict['key'] = value
4. 删除:pop(), del, clear()
5. 遍历:for key in dict: 或 for key, value in dict.items():

集合记忆卡片:
1. 创建:{} 或 set()
2. 添加:add(), update()
3. 删除:remove(), discard(), pop(), clear()
4. 运算:| (并), & (交), - (差), ^ (对称差)
5. 判断:in, issubset(), issuperset()
"""


def main():
    """主函数:运行所有示例"""
    print("=== 字典基础操作 ===")
    dict_basic_operations()

    print("\n=== 字典高级操作 ===")
    dict_advanced_operations()

    print("\n=== 集合基础操作 ===")
    set_basic_operations()

    print("\n=== 集合高级操作 ===")
    set_advanced_operations()

    print("\n=== 实际应用示例 ===")
    practical_examples()


if __name__ == "__main__":
    main()

    打印结果:

    === 字典基础操作 ===
    张三

    === 字典高级操作 ===
    name
    age
    score
    name: 张三
    age: 18
    score: 95

    === 集合基础操作 ===

    === 集合高级操作 ===
    {1, 2, 3, 4, 5, 6}
    {3, 4}
    {1, 2}
    {1, 2, 5, 6}
    True
    False
    False

    === 实际应用示例 ===

    Python中的list(列表),tuple(元组),dict(字典)和set(集合)是常见的数据结构。 1. 列表(list)是一个可变的、有序的元素集合。可以通过方括号[]来创建一个列表,列表中的元素可以是任意类型,并且可以重复。列表提供了丰富的操作方法,如添加元素、删除元素、获取元素等。 2. 元组(tuple)是一个不可变的、有序的元素集合。可以通过小括号()来创建一个元组,元组中的元素可以是任意类型。元组一旦创建后,不能修改其元素的值。元组通常用于存储不可变的数据,如坐标位置、颜色等。 3. 字典(dict)是一种键值对(key-value)的数据结构。可以通过花括号{}来创建一个字典,字典中的元素是无序的,并且每个元素由一个键和对应的值组成。字典中的键必须是唯一的,而值可以是任意类型。字典提供了根据键获取值、添加键值对、删除键值对等操作。 4. 集合(set)是一个无序的、不重复的元素集合。可以通过花括号{}或set()函数来创建一个集合,集合中的元素不能重复。集合提供了并集、交集、差集等常用的数学运算操作,同时还支持元素的添加、删除等操作。 在编程中,根据具体的需求选择使用合适的数据结构能够更高效地处理数据,并且提供相应的操作方法方便开发。以上是对Python中常见的列表、元组、字典和集合的简要介绍。
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值