当前位置: 首页 > news >正文

专业建站lhznkj推广商

专业建站lhznkj,推广商,广东建设部网站,公司营业执照怎么查询Python 中的字典(Dictionary)是最强大的键值对(key-value)数据结构,用于高效存储和访问数据。以下是字典的核心知识点: 一、基础特性 键值对存储:通过唯一键(Key)快速访…

Python 中的字典(Dictionary)是最强大的键值对(key-value)数据结构,用于高效存储和访问数据。以下是字典的核心知识点:


一、基础特性

  1. 键值对存储:通过唯一键(Key)快速访问值(Value)
  2. 可变性:支持增删改查操作
  3. 无序性(Python 3.7+ 默认有序):元素无固定顺序,但插入顺序被保留
  4. 键的唯一性:键必须唯一且不可变(int/str/tuple 等)
    person = {"name": "Alice","age": 30,"hobbies": ["reading", "coding"]
    }
    

二、创建字典

1. 直接定义
empty_dict = {}          # 空字典
student = {"id": 101, "name": "Bob"}
2. 类型转换
dict(name="Charlie", age=25)  # → {'name': 'Charlie', 'age': 25}
dict([("a", 1), ("b", 2)])    # → {'a': 1, 'b': 2}
3. 字典推导式
squares = {x: x**2 for x in range(5)}  # → {0:0, 1:1, 2:4, 3:9, 4:16}

三、常用操作

1. 访问元素
person = {"name": "Alice", "age": 30}
print(person["name"])    # → "Alice"(直接访问)
print(person.get("age")) # → 30(安全访问)
print(person.get("job", "N/A"))  # → "N/A"(默认值)
2. 增删改操作
# 增/改
person["city"] = "New York"  # 添加新键值对
person["age"] = 31           # 修改现有值# 删
del person["city"]           # 删除指定键
popped = person.pop("age")   # 删除并返回值 → 31
person.clear()               # 清空字典 → {}
3. 遍历字典
for key in person:          # 遍历键print(key)for value in person.values():  # 遍历值print(value)for key, value in person.items():  # 遍历键值对print(f"{key}{value}")

四、字典方法

方法作用示例
keys()返回所有键的视图对象list(d.keys())
values()返回所有值的视图对象list(d.values())
items()返回键值对元组的视图对象list(d.items())
get(key, default)安全获取值d.get("age", 0)
update(other)合并字典d.update({"city": "NY"})
pop(key)删除并返回指定键的值d.pop("age")
popitem()删除并返回最后一个键值对d.popitem()
setdefault(key)获取值,不存在则设置默认值d.setdefault("country", "US")

五、高级用法

1. 合并字典
# Python 3.9+
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged = dict1 | dict2  # → {'a':1, 'b':3, 'c':4}# 通用方式
merged = {**dict1, **dict2}
2. 默认字典(defaultdict
from collections import defaultdictcounts = defaultdict(int)  # 默认值为0
counts["apple"] += 1       # 自动初始化键
3. 有序字典(OrderedDict
from collections import OrderedDictordered = OrderedDict()
ordered["a"] = 1
ordered["b"] = 2  # 保持插入顺序
4. 嵌套字典
students = {"101": {"name": "Alice", "scores": [90, 85]},"102": {"name": "Bob", "scores": [78, 92]}
}

六、应用场景

  1. 配置管理

    config = {"db_host": "localhost","db_port": 3306,"debug_mode": True
    }
    
  2. 计数器

    from collections import defaultdictword_counts = defaultdict(int)
    for word in ["apple", "banana", "apple"]:word_counts[word] += 1
    
  3. 缓存系统

    cache = {}
    def get_data(key):if key not in cache:cache[key] = fetch_from_db(key)  # 模拟数据库查询return cache[key]
    
  4. 数据转换

    # 列表转字典
    users = [("id1", "Alice"), ("id2", "Bob")]
    user_dict = dict(users)  # → {"id1": "Alice", "id2": "Bob"}
    

七、性能优化

  1. 键的哈希值

    • 优先使用不可变类型(如 int/str/tuple)作为键
    • 避免使用可变类型(如 list/dict)作为键
  2. 内存效率

    # 小整数键优化
    d = {i: None for i in range(1000)}  # 内存占用更小
    
  3. 快速查找

    • 字典的查找时间复杂度为 O(1),远快于列表的 O(n)

八、常见陷阱

  1. 可变默认参数

    def bad_init(data={}):  # 危险!默认参数共享data["count"] = data.get("count", 0) + 1return data# 正确做法
    def good_init(data=None):if data is None:data = {}data["count"] = data.get("count", 0) + 1return data
    
  2. 键的哈希冲突

    • 自定义对象作为键时需实现 __hash__()__eq__()
  3. 视图对象特性

    d = {"a": 1, "b": 2}
    keys = d.keys()  # 视图对象(动态反映字典变化)
    d["c"] = 3
    print(keys)      # → dict_keys(['a', 'b', 'c'])
    

通过合理使用字典,可以高效处理从简单键值存储到复杂数据映射的各种场景。实际应用中需注意键的选择和性能优化,并根据需求选择标准字典或专用扩展类(如 defaultdict/OrderedDict)。

http://www.cadmedia.cn/news/6174.html

相关文章:

  • 上海十大b2c网站建设免费的个人网站html代码
  • 新手学做网站难吗友情链接有哪些作用
  • 宁波公司注册代理公司网站运营推广选择乐云seo
  • 广东粤建设计院网站推广计划怎么做
  • 手机app网站模板seo技术培训学校
  • 建设网站好学吗google广告
  • 郑州市人民政府官方网站郑州百度推广代运营
  • 招标公司网站建设方案怎么推广游戏代理赚钱
  • 网站关键词用什么隔开电商网站如何避免客户信息泄露
  • 济南网站建设团队南京网络推广平台
  • 网站开发的公司推荐太原seo推广
  • 在门户网站中营销者通过制作什么2021搜索引擎排名
  • 二级网站建设标准百度极简网址
  • 搭建网站视频教程重庆关键词优化平台
  • 微分销商城网站建设营销图片素材
  • 想做外贸生意如何起步网站关键词优化怎么做的
  • 范县网站建设价格搜索图片识别出处百度识图
  • 网页设计网站测试软文撰写
  • 用DW做的网站生成链接所有关键词
  • 网站建设中中文模板下载网络推广预算方案
  • 中国交通建设监理协会网站网站seo查询工具
  • 甘肃疫情最新通知广州seo排名优化服务
  • 海口建设工程信息网站推广普通话的宣传语
  • 官方网站建设平台百度的合作网站有哪些
  • 教育网站建设平台免费友情链接
  • 网站建设书籍2013年的百度提交网站入口
  • 公司网站建设怎么代写软文
  • 广东省建设工程交易中心网站网络营销概念是什么
  • 国外最好的设计网站软文营销的步骤
  • 母婴用品商城网站建设百度点击快速排名