• python 基础复习 05


    #dict  字典

      1 """
      2 # 数据类型划分:可变数据类型,不可变数据类型
      3 不可变数据类型: 元祖, bool, int, str,       不可更改的又叫可哈希
      4 可变数据类型: 列表list   dict字典  set集合   不可哈希
      5 """
      6 
      7 # 字典的     key(键) 必须是不可变的  就是可哈希的  有元祖tuple, bool,int,str
      8 #           value:任意数据类型
      9 # dict 优点:二分查找去查询
     10 #             字典是无序的
     11 
     12 # dic = {
     13 #     "name":['蜘蛛', "蜘蛛侠"],
     14 #     "py1":[{"num": 21, "age": 23},
     15 #            {"num": 20, "age": 44}],
     16 #     True: 1,
     17 #     (1,2,3): "pioneer",
     18 #     2: "two",
     19 # }
     20 # print(dic)
     21 
     22 
     23 
     24 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
     25 
     26 #
     27 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
     28 
     29 # dic1["high"] = 185  # 没有键值对,添加 (原字典中没有的则添加)
     30 # dic1["age"] = 16  # 如果有键,则覆盖
     31 
     32 # dic1.setdefault("weight")
     33 # print(dic1)       # {'age': 18, 'name': 'jin', 'sex': 'male', 'weight': None}
     34 #  没有键就添加 值则是默认的None
     35 
     36 # dic1.setdefault("weight", "蜘蛛")  # 有键值对,不做任何改变, 没有才添加。
     37 # dic1.setdefault("weight", 135)  # 如果原字典里有键又有值,那么后添加的值则没有用
     38 # print(dic1)
     39 
     40 
     41 
     42 #  删除
     43 
     44 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
     45 
     46 # pop()  按键去删除
     47 # print(dic1.pop("age"))  # pop()有返回值 被删除的值, 按键去删除
     48 # print(dic1)
     49 
     50 
     51 # print(dic1.pop("gender"))  # 没有的键删除  会报错
     52 # print(dic1.pop("gender","没有此键"))  # 当你以后要删除某键时,但又不知道
     53                                         # 它到底存不存在,不存在你删除时,
     54 #                                       就会给你报错,这时 你就可以在键后
     55 #                                          面再加一个值,这样就不会报错了
     56 # print(dic1)
     57 
     58 
     59 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
     60 # print(dic1.popitem())   # ('sex', 'male')   # python 3.6 之前是随机删除(不包括3.6)
     61                             # 以后就是默认删除最后一个
     62 #                             有返回值  元祖里面是删除的键值
     63 # print(dic1)
     64 
     65 
     66 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
     67 # dic1.clear()  # 清空字典
     68 # print(dic1)
     69 
     70 # del dic1["name"]  # 没有返回值  按键去删除
     71 # print(dic1)
     72 
     73 # del dic1  # 删除字典
     74 # print(dic1)
     75 
     76 
     77 
     78 
     79 #
     80 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
     81 # dic1["age"] = 13  # 通过键 直接赋值
     82 # print(dic1)
     83 
     84 # dic = {"name": "jin", "age": "18", "sex": "male"}
     85 # dic2 = {"name": "lizy", "weight": "70"}
     86 # dic2.update(dic)
     87 # print(dic)  # {'name': 'jin', 'age': '18', 'sex': 'male'}
     88 # print(dic2)  # {'name': 'jin', 'weight': '70', 'age': '18', 'sex': 'male'}
     89 
     90 
     91 
     92 
     93 
     94 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
     95 #
     96 
     97 # print(dic1.keys(), type(dic1.keys()))  # dict_keys(['age', 'name', 'sex']) <class 'dict_keys'>
     98 #                                                 # 返回的是列表
     99 # print(dic1.values())  # dict_values([18, 'jin', 'male']) # 返回的是列表
    100 # print(dic1.items())  # dict_items([('age', 18), ('name', 'jin'), ('sex', 'male')])  # 返回的是元祖 元祖里面是键值
    101 
    102 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
    103 # for i in dic1:
    104 #     print(i)  # 用 for 循环遍历字典 打印的是键  age
    105                                             # name
    106                                             # sex
    107 
    108 
    109 
    110 # 用一行代码实现啊a,b值的互换
    111 # a = 1
    112 # b = 2
    113 # a, b = b, a
    114 # print(a,b)
    115 
    116 
    117 # a, b = [1, 2]
    118 # print(a, b)  # 1 2
    119 
    120 # a, b = [1, 2], [2, 3]
    121 # print(a,b)  # [1, 2] [2, 3]
    122 
    123 
    124 # dic = {"name": "jin", "age": "18", "sex": "male"}
    125 # for i in dic.items():
    126 #     print(i)
    127 # 打印出来如下
    128 # ('name', 'jin')
    129 # ('age', '18')
    130 # ('sex', 'male')
    131 
    132 # 但需求是 不要小括号 不要冒号 做法如下
    133 # dic = {"name": "jin", "age": "18", "sex": "male"}
    134 # for k, v in dic.items():
    135 #     print(k, v)
    136 # 打印如下
    137 # name jin
    138 # age 18
    139 # sex male
    140 
    141 
    142 # dic = {"name": "jin", "age": "18", "sex": "male"}
    143 # v1 = dic["name"]
    144 # print(v1)
    145 
    146 
    147 # 如果不确定找的键有没有 就用get()  不会报错
    148 # v2 = dic["name1"]
    149 # print(v2)  # 报错了
    150 
    151 #get
    152 # print(dic.get("name1", "没有这个键"))
    153 # 不会报错  如果没有会返回你写的值     没有这个键
    154 
    155 
    156 
    157 
    158 
    159 
    160 
    161 # dic = {
    162 #     "name": ["alex", "wusir", "taibai"],
    163 #     "py12": {
    164 #         "time": "1314",
    165 #         "learn_money": 123456,
    166 #         "addr": "CBD",
    167 #     },
    168 #     "age": 23
    169 # }
    170 
    171 # 1) 需求 age 改成 33岁
    172 # dic["age"] = 66
    173 # print(dic)
    174 
    175 # 2) 需求 往"name"中添加一个"蜘蛛"
    176 # dic["name"].append("蜘蛛")
    177 # print(dic)
    178 
    179 # 3) 需求 把name中的"wusir"变成大写
    180 # dic["name"][1] = dic["name"][1].upper()  # 这里一定得注意,要赋值
    181 # print(dic)
    182 
    183 # 4) 需求 给py12 对应的字典 添加一个键值对 "female": 10
    184 # dic["py12"]["female"] = 10
    185 # print(dic)
    186 
    187 
    188 
    189 # 需求  随便输入字符串,最后测试字符串里面数字的个数
    190 info = input(">>>")
    191 for i in info:
    192     if i.isalpha():
    193         info = info.replace(i, " ")
    194 
    195 l = info.split()
    196 print(len(l))
    注:本文是根据老男孩课程内容整理而成的,本文仅供个人笔记使用,如果有侵犯,请联系我,我立即撤销。
  • 相关阅读:
    redis内存模型、内存使用的优化
    【转】[Andriod]Xposed和VirtualXposed
    https详解
    http详解
    补码
    浮点数的二进制表示
    Go随机数
    ECDSA--圆锥曲线数字签名算法原理(摘wikepedia)
    Linux命令备忘
    【Windows】系统命令
  • 原文地址:https://www.cnblogs.com/pioneerLee/p/10165701.html
Copyright © 2020-2023  润新知