Python 字典

字典定义

  • 使用 花括号 {} 创建字典
  • 集合是存储唯一key 到值 value 的映射的数据结构,是可变无序的数据类型
  • 的类型为任何 不可变类型,可以是字符串整数元组
  • 键与值使用冒号 : 分隔,每一对元素使用逗号 , 分隔
  • 值可以使用嵌套,构建出复杂的数据结构

字典属性

返回键

方法 keys() 返回字典的键

使用字典

查询元素

  • 使用 方括号 [] 查询字典中该键对应的值,形式为 dic_name["key_name"]
  • in 运算符检查特定键是否在字典中,类似的还有 not in 运算符
  • get 方法查找字典中是否有特定键,当不存在时,返回 None(或用户设置的默认值);存在时返回特定值
python
elements = {"hydrogen": 1, "helium": 2, "carbon": 6}
# 设定当 get 方法无法查找到特定键时,返回的提示语,使用户更容易理解
result = elements.get('kryptonite', 'There\'s no such element!')
print(result)

🔨 编译结果

shell
"There's no such element!"

遍历元素

类似于列表,字典也可以使用 for 循环遍历其元素

  • 默认是对于字典里的进行遍历,相当于遍历 dic.keys()
    python
    for key in dic:
        code...
    
    for key in dic.keys():
        code...
    
  • 遍历 dic.values() 返回字典的值
    python
    for value in dic.values():
        code...
    
  • 遍历 dic.items()元组的形式返回字典的完整条目,可以将整个条目赋值给循环变量;也可以将元组解包,即键和值分别赋值给各自的变量。
    python
    >>> favorites = {'color': 'purple', 'number': 42, 'animal': 'turtle', 'language': 'python'}
    >>> for entry in dic.items():
            print(entry)
    # 输出键值对的元组形式输出每个条目,其中并以逗号分隔
    ('color', 'purple')
    ('number', 42)
    ('animal', 'turtle')
    ('language', 'python')
    
    >>> for key, value in favorites.items():
            print(key)
            print(value)
    

插入元素

使用方括号 [] 形式为 dic_name["new_key"] = new_value 向字典插入新的元素

Warning

由于字典是无序的,因此不能使用方法 append()

修改元素

通过赋值符号,将值赋予已有的键标记的字典,如 dic["key_name"] = new_value

python
# 在原有字符串后增添
d["squid"] += " that eats fish, crabs, and wayward elephants."

删除元素

使用语句 del dic['key_name] 删除字典中的元素

python
>>> d = {'fish': 'salmon', 'cat': 'lion'}
>>> del d['fish']
>>> print(d)
{'cat': 'lion'}

复合数据

使用嵌套形式 ,以字典作为值 value 则可以增加存储内容的复杂度

索引复合数据可以通过类似的查询方式

python
elements = {
    "hydrogen": {
        "number": 1,
        "weight": 1.00794,
        "symbol": "H"
    },
    "helium": {
        "number": 2,
        "weight": 4.002602,
        "symbol": "He"
    }
}

helium = elements["helium"]  # get the helium dictionary
hydrogen_weight = elements["hydrogen"]["weight"]  # get hydrogen's weight
print(helium)
print(hydrogen)

🔨 编译结果

shell
{"number": 2, "weight": 4.002602, "symbol": "He"}
4.002602

Copyright © 2025 Ben

Theme BlogiNote

Icons from Icônes