• day5 字典的增删改查


    列表里面的改 可以直接list[]=".."  赋值

    也可以用字符串的操作方式list[].upper()等

    数字类型分为:可变数据类型    不可变数据类型

    不可变数据类型(可哈希  ”二分法查询”):元祖  bool int str(对于str进行的操作都形成一个新的字符串 原来字符串并没有改变)

    可变数据类型(也叫不可哈希):list ,dict(唯一一个映射类型),set(集合本身是可变 但里面的元素是不可变的)

    字典 的键一定是不可变数据类型(可哈西   查找速度快)值任意数据类型

    dict优点:二分法查询  存储大量的关系型数据

    特点:无序的(python3.5以后可能排序??不确定)

    dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', }
    #
    dic1['high'] = 185  # 没有这个键值对,添加
    dic1['age'] = 16  # 有这个键值对,则值覆盖
    print(dic1)
    dic1.setdefault('weight', 150)  # 默认值是None
    dic1.setdefault('name', '二哥')  # 有键值对不做任何改变,没有才添加
    print(dic1)
    
    <<<
    {'age': 16, 'name': 'jin', 'sex': 'male', 'high': 185}
    {'age': 16, 'name': 'jin', 'sex': 'male', 'high': 185, 'weight': 150}
    #
    dic2 = {'age': 18, 'name': 'jin', 'sex': 'male', "aaa":123,"bbb":999}
    print(dic2.pop('age'))  # 按键删除 有返回值 返回“值”
    print(dic2.pop('二哥', None))  # ,没有不会报错,可设置返回值
    print(dic2)
    print(dic2.pop('name', None))  # ,有就直接删除
    print(dic2)
    print(dic2.popitem())  # 默认删除最后一个  返回一个删除的键值的元祖
    del dic2['sex']         #按键删除,没有返回值 没有这个键的话报错
    print(dic2)
    dic2.clear()                 #清空字典
    print(dic2)
    
    
    <<<
    18
    None
    {'name': 'jin', 'sex': 'male', 'aaa': 123, 'bbb': 999}
    jin
    {'sex': 'male', 'aaa': 123, 'bbb': 999}
    ('bbb', 999)
    {'aaa': 123}
    {}
    #
    dic3 = {'age': 18, 'name': 'jin', 'sex': 'male', }
    dic = {'name': 'alex', 'weight': 75}
    dic3.update(dic)  # 把dic覆盖更新到dic3中 原字典dic不改变
    print(dic3)
    print(dic)
    
    
    <<<
    {'age': 18, 'name': 'alex', 'sex': 'male', 'weight': 75}
    {'name': 'alex', 'weight': 75}
    #
    dic4 = {'age': 18, 'name': 'jin', 'sex': 'male', }
    print(dic4.keys(), type(dic4.keys()))  # 返回一个列表
    print(dic4.values(), type(dic4.values()))
    print(dic4.items(), )
    dic = dic4.items()
    print(dic)
    for i in dic4:  # 默认打印键
        print(i)
    for i in dic4.values():  # 打印值
        print(i)
    for i in dic4.items():
        print(i)  # 打印键值 以元祖形式
    #面试题   a,b交换值
    a,b=1,2                             
    print(a,b)
    a,b=1,2
    a,b=b,a
    print(a,b)         #内存存的1,2的地址和名称空间(变量和值得对应关系)
    a,b=[1,2]
    print(a,b)         #自动识别 看里面最小单位
    
    
    <<<
    1 2
    2 1
    1 2
    
    
    
    for k, v in dic4.items():
        print(k, v)
    
    print(dic4['name'])  # 没有这个键 就报错
    print(dic4.get('name1', '没有这个键'))  # 查找,没有的话返回设置的值 默认返回None
    
    <<<
    dict_keys(['age', 'name', 'sex']) <class 'dict_keys'>
    dict_values([18, 'jin', 'male']) <class 'dict_values'>
    dict_items([('age', 18), ('name', 'jin'), ('sex', 'male')])
    dict_items([('age', 18), ('name', 'jin'), ('sex', 'male')])
    age
    name
    sex
    18
    jin
    male
    ('age', 18)
    ('name', 'jin')
    ('sex', 'male')
    age 18
    name jin
    sex male
    jin
    没有这个键
    # 嵌套
    dic = {"name": ['alex', 'wusir', 'taibai'],
    'py9': {'time': '1213','learn_money': 19800,'addr': 'CBD'},
    'age': 21}
    dic['age'] = 56
    print(dic)
    dic['name'].append('ritian')
    dic['name'][1]=dic['name'][1].upper() #
    print(dic)
    # dic['py9']['female']=6   #直接往py9增加一个键值对
    dic['py9'].setdefault('female',6) #用default添加
    print(dic)
    
    
    <<<
    {'name': ['alex', 'wusir', 'taibai'], 'py9': {'time': '1213', 'learn_money': 19800, 'addr': 'CBD'}, 'age': 56}
    {'name': ['alex', 'WUSIR', 'taibai', 'ritian'], 'py9': {'time': '1213', 'learn_money': 19800, 'addr': 'CBD'}, 'age': 56}
    {'name': ['alex', 'WUSIR', 'taibai', 'ritian'], 'py9': {'time': '1213', 'learn_money': 19800, 'addr': 'CBD', 'female': 6}, 'age': 56}
    info=input('<<<')
    for i in info:
        if i.isalpha():
            info=info.replace(i," ")
    l=info.split()
    print(len(l))
    
    
    <<<
    <<<qqq111nn3
    2

    ---恢复内容结束---

  • 相关阅读:
    Beta冲刺 (6/7)
    Beta冲刺(5/7)
    Beta 冲刺 (4/7)
    Beta 冲刺 (3/7)
    软件产品案例分析(团队)
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    java 常用设计模式及Spring中应用了哪些设计模式
    java 八大排序算法
    记录java学习计划及相关工作中用到的技术/工具
  • 原文地址:https://www.cnblogs.com/hi-python/p/10078677.html
Copyright © 2020-2023  润新知