05 Python Dictionary

info = {'keys1':'value1',
        'keys2':'value2',
        'keys3':'value3'}
  • dictionary是无序的
  • Key必须唯一
  • dic也可以多层嵌套
  • catalog = {
            'A_Project': {'A_Folder': ['a_class1', 'a_class2'],
                         'B_Folder': ['b_class1', 'b_class2'],
                         'C_Folder': ['c_class1', 'c_class2']},
            'B_Project': {'A_Folder': ['a_class1', 'a_class2'],
                         'B_Folder': ['b_class1', 'b_class2'],
                         'C_Folder': ['c_class1', 'c_class2']},
            'C_Project': {'A_Folder': ['a_class1', 'a_class2'],
                         'B_Folder': ['b_class1', 'b_class2'],
                         'C_Folder': ['c_class1', 'c_class2']}
    }
info['keys1']='keys1'
print(info)
=>{'keys1': 'keys1', 'keys2': 'value2', 'keys3': 'value3'}
info.pop('keys1')
# del info['keys1']
=>{'keys2': 'value2', 'keys3': 'value3'}
info['keys1'] = 'value1_1'
print(info)
=>{'keys1': 'value1_1', 'keys2': 'value2', 'keys3': 'value3'}
print('keys1' in info)
print(info.get('keys1'))
info['keys1'] # 当dic中不存在keys1的时候会报错
=>True
  • value
print(info.value())
=>dict_values(['value1', 'value2', 'value3'])
  • keys
print(info.keys())
=>dict_keys(['keys1', 'keys2', 'keys3'])
  • setdefault(set一个值如果字典中不存在则添加,反之不会添加)
info.setdefault('keys4','value4')
print(info)
=>{'keys1': 'value1', 'keys2': 'value2', 'keys3': 'value3', 'keys4': 'value4'}
info.setdefalut('keys3','value1')
print(info)
=>{'keys1': 'value1', 'keys2': 'value2', 'keys3': 'value3', 'keys4': 'value4'}
  • update
b = {'keys1':'value_update',
     1:3,
     2:5}
info.update(b)
print(info)
=>{'keys1': 'value_update', 'keys2': 'value2', 'keys3': 'value3', 1: 3, 2: 5}
  • items(dictionary转列表)
print(info.items())
=>dict_items([('keys1', 'value1'), ('keys2', 'value2'), ('keys3', 'value3')])
  • fromkeys
c = dict.fromkeys([1,2,3],'test')
print(c)
=>{1: 'test', 2: 'test', 3: 'test'}

c=dict.fromkeys([1,2,3],[1,{'keys1':'value1'},111])
print(c)
=>{1: [1, {'keys1': 'value1'}, 111], 2: [1, {'keys1': 'value1'}, 111], 3: [1, {'keys1': 'value1'}, 111]}

#但是在修改的时候
c[1][1]['keys1'] = 'value2'
=>{1: [1, {'keys1': 'value2'}, 111], 2: [1, {'keys1': 'value2'}, 111], 3: [1, {'keys1': 'value2'}, 111]}
  • 循环
#高效
for i in info:
    #print(i) #只得到keys
    print(i,info[i])

#不建议
for k,v in info.items():
    print(k,v)

 

Python 中的 `dictionary`(字典)是一种非常有用的数据结构,用于存储键值对(key-value pairs)。每个键(key)都关联着一个值(value),通过键可以快速访问对应的值。以下是 Python 字典的一些基本用法: ### 创建字典 ```python # 使用花括号创建字典 my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'} # 使用 dict() 函数创建字典 my_dict = dict(name='Bob', age=30, city='Los Angeles') ``` --- ### 访问元素 通过键访问字典中的值: ```python print(my_dict['name']) # 输出 Alice 或 Bob # 如果不确定键是否存在,可以用 get() 方法避免报错 print(my_dict.get('country')) # 返回 None print(my_dict.get('country', 'Unknown')) # 提供默认值,默认返回 "Unknown" ``` --- ### 添加或修改元素 向字典添加新键值对或更新已有键的值: ```python my_dict['email'] = 'alice@example.com' # 新增键值对 my_dict['age'] = 26 # 修改现有键的值 ``` --- ### 删除元素 删除单个键值对或多清理整个字典: ```python del my_dict['city'] # 删除指定键值对 removed_value = my_dict.pop('age') # 移除并返回对应值 my_dict.clear() # 清空字典所有内容 ``` --- ### 遍历字典 遍历字典的所有键、值或键值对: ```python for key in my_dict.keys(): print(key) # 打印所有的键 for value in my_dict.values(): print(value) # 打印所有的值 for key, value in my_dict.items(): print(f"{key}: {value}") # 同时打印键和值 ``` --- ### 其他常用操作 - **检查键是否存在**: ```python if 'name' in my_dict: print("Key exists!") ``` - **获取字典长度**: ```python length = len(my_dict) ``` - **复制字典**: ```python copied_dict = my_dict.copy() ``` - **合并两个字典**(适用于 Python 3.9+): ```python merged_dict = dict1 | dict2 ``` --- ### 示例代码 以下是一个完整的例子展示如何使用字典: ```python person = { 'name': 'Charlie', 'age': 28, 'hobbies': ['reading', 'traveling'] } # 获取信息 print(person['name']) if 'hobbies' in person: print(f"Hobbies: {', '.join(person['hobbies'])}") # 更新数据 person['age'] += 1 person['address'] = 'Beijing' # 删除旧数据 del person['hobbies'] print(person) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值