• Python:基础数据类型--字典


    基础数据类型--字典

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

    键必须是唯一的,但值则不必。

    d = {key1 : value1, key2 : value2 }

    字典:增

    dic = {'name': '老男孩','age': 10000, 'sex': ''}
    dic['hobby'] = 'old_girl'                  # 有key则修改,无则增加
    dic['name'] = 'alex'
    print(dic)
    
    {'name': 'alex', 'age': 10000, 'sex': '', 'hobby': 'old_girl'}

    setdefault()  有则不修改,无则增加。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    dic.setdefault('sex','女')                 # 有key则不修改,无则增加
    print(dic) {'name': '老男孩', 'age': 10000, 'sex': ''}

    字典:删

    pop()  按照key删除元素,并返回删除的元素。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    print(dic.pop('name'))            # 删除key为name的元素,并将其返回。

    dic.pop('name1',None) # 删除没有的key,未避免报错,可以设置默认返回值。 print(dic) 老男孩 {'age': 10000, 'sex': ''}

    popitem()   在python3.6之前为随机删除字典中的一个元素,python3.6则是删除字典中最后一个元素。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    print(dic.popitem())
    print(dic)
    
    ('sex', '')
    {'name': '老男孩', 'age': 10000}

    clear()  清空字典。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    dic.clear()
    print(dic)
    
    {}

    del  1,删除整个字典。2,按照键去删除键值对。

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    del dic['name']
    print(dic)
    del dic                  # 删除整个字典 print(dic) {'age': 10000, 'sex': ''} NameError: name 'dic' is not defined

    字典:改

    dic = {'name': '老男孩','age': 10000,'sex': ''}
    dic['name'] = 'alex'                  # 无责增加,有责修改。
    print(dic)
    
    {'name': 'alex', 'age': 10000, 'sex': ''}
    dic = {'name': '老男孩','age': 10000,'sex': ''}
    dic = {"name": "jin", "age": 18,"sex": "male"}
    dic2 = {"name": "alex", "weight": 75}
    dic2.update(dic)             # 将dic里面的键值对覆盖并更新到dic2中,dic不变 。
    print(dic)                 # {'name': 'jin', 'age': 18, 'sex': 'male'}
    print(dic2)                # {'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}
    
    {'name': 'jin', 'age': 18, 'sex': 'male'}
    {'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}

    列表:查

    get()  查找时如果没有此key 不会报错。

    dic = {"name": "jin", "age": 18,"sex": "male"}          
    print(dic['name1'])          
    print(dic.get('name1','没有此键...')) #设置查询key不存在时,的返回值
    
    jin
    没有此键...

    keys()  返回字典中的所有key

    dic = {"name": "jin", "age": 18,"sex": "male"}
    for i in dic.keys():
        print(i)
    
    name
    age
    sex

    values()  返回字典中的所有值

    dic = {"name": "jin", "age": 18,"sex": "male"}
    print(dic.values())
    
    dict_values(['jin', 18, 'male'])

    items()    返回可遍历的键, 值对

    dic = {"name": "jin", "age": 18,"sex": "male"}
    for k, v in dic.items():
        print(k, v)
    
    name jin
    age 18
    sex male

    坑: 再循环一个字典时,不要改变字典的大小,这样会影响结果。

    dic = {'k1': 'v1', 'k2': 'v2', 'k3':'v3', 'name':'alex'}
    for k in dic:
        if 'k' in k:
            dic.pop(k)
            
    RuntimeError: dictionary changed size during iteration
  • 相关阅读:
    three.js模型
    three.js贴图
    three.js材质
    three.js自定义形状
    border
    虚拟主机Dede程序安装
    万网虚拟主机目录
    ConcurrentHashMap
    Oracle中select使用别名
    单例模式
  • 原文地址:https://www.cnblogs.com/bailo/p/9032976.html
Copyright © 2020-2023  润新知