Python字典是一种高效的哈希表实现,常用于快速查找和键值对存储。以下是与字典相关的核心算法和应用
python
d1 = {} 空字典
d2 = dict(a=1, b=2) 使用构造函数
d3 = {'name': 'Alice', 'age': 25} 直接初始化
python
value = d3['name'] 访问,KeyError若键不存在
d3['age'] = 26 修改
d3['city'] = 'Paris' 新增键值对
val = d3.get('phone', 'N/A') 安全访问,返回默认值
python
del d3['city'] 删除键
age = d3.pop('age') 删除并返回值
python
from collections import defaultdict
nums = [1, 2, 3, 2, 1, 3, 3]
counts = defaultdict(int)
for num in nums:
counts[num] += 1
或使用普通字典
counts = {}
for num in nums:
counts[num] = counts.get(num, 0) + 1
python
def two_sum(nums, target):
seen = {}
for i, num in enumerate(nums):
complement = target
if complement in seen:
return [seen[complement], i]
seen[num] = i
return []
处理重复值:
python
from collections import defaultdict
original = {'a': 1, 'b': 2, 'c': 1}
reversed_dict = defaultdict(list)
for k, v in original.items:
reversed_dict[v].append(k)
输出:{1: ['a', 'c'], 2: ['b']}
python
d1 = {'a': 1}
d2 = {'b': 2}
merged = {d1, d2} Python 3.5+
merged = d1 | d2 Python 3.9+
python
filtered = {k: v for k, v in d.items if v > 10}
python
sorted_by_key = dict(sorted(d.items)) 按键排序
sorted_by_value = dict(sorted(d.items, key=lambda x: x[1]))
python
shallow_copy = d.copy 浅拷贝
import copy
deep_copy = copy.deepcopy(d) 深拷贝(处理嵌套对象)
python
for key in list(d.keys):
if condition(key):
del d[key]
掌握字典的底层原理和高效操作,能够显著提升算法设计能力,尤其在处理查找、统计、缓存等问题时表现优异。
版权声明: 知妳网保留所有权利,部分内容为网络收集,如有侵权,请联系QQ793061840删除,添加请注明来意。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态