zoukankan      html  css  js  c++  java
  • day12-python之深灰魔法

    #######################################灰魔法: list类中提供的方法   列表#######################################

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 
     5 # 参数
     6 # 1. 原来值最后追加
     7 # 对象.方法(..)   # li对象调用append方法
     8 li = [11, 22, 33, 22, 44]
     9 # li.append(5)
    10 # li.append("alex")
    11 # li.append([1234,2323])
    12 # print(li)
    13 
    14 # 2 清空列表
    15 # li.clear()
    16 # print(li)
    17 
    18 # 3 拷贝,浅拷贝
    19 # v = li.copy()
    20 # print(v)
    21 
    22 # 4. 计算元素出现的次数
    23 # v = li.count(22)
    24 # print(v)
    25 
    26 # 5. 扩展原列表,参数:可迭代对象
    27 # li = [11, 22, 33, 22, 44]
    28 # li.append([9898,"不得了"])
    29 # print(li)
    30 #
    31 # li.extend([9898,"不得了"])
    32 # for i in [9898,"不得了"]:
    33 #     li.append(i)
    34 #
    35 # li.extend("不得了")
    36 # print(li)
    37 
    38 # 6. 根据值获取当前值索引位置(左边优先)
    39 # li = [11, 22, 33, 22, 44]
    40 # v= li.index(22)
    41 # print(v)
    42 
    43 # 7. 在指定索引位置插入元素
    44 # li = [11, 22, 33, 22, 44]
    45 # li.insert(0,99)
    46 # print(li)
    47 
    48 # 8、 删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值
    49 # li = [11, 22, 33, 22, 44]
    50 # v = li.pop()
    51 # print(li)
    52 # print(v)
    53 
    54 # li = [11, 22, 33, 22, 44]
    55 # v = li.pop(1)
    56 # print(li)
    57 # print(v)
    58 
    59 # 9. 删除列表中的指定值,左边优先
    60 # li = [11, 22, 33, 22, 44]
    61 # li.remove(22)
    62 # print(li)
    63 # PS: pop remove del li[0]    del li[7:9]   clear
    64 
    65 # 10 将当前列表进行翻转
    66 # li = [11, 22, 33, 22, 44]
    67 # li.reverse()
    68 # print(li)
    69 
    70 # 11 列表的排序
    71 # li = [11,44, 22, 33, 22]
    72 # li.sort()
    73 # li.sort(reverse=True)
    74 # print(li)
    75 ### 欠
    76 # cmp
    77 # key
    78 # sorted

    # 1. 列表格式
    # 2. 列表中可以嵌套任何类型
    # 中括号括起来
    # ,分割每个元素
    # 列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去
    # “集合”,内部放置任何东西

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 
     5 # 3.
     6 # 索引取值
     7 li = [1,23,212,45,67,89]
     8 # print(li[3])
     9 # 4 切片,切片结果也是列表
    10 # print(li[3:-1])
    11 
    12 # 5 for循环
    13 # while循环
    14 # for item in li:
    15 #     print(item)
    16 
    17 # 列表元素,可以被修改
    18 
    19 # li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    20 # print(li)
    21 
    22 ############## 6 索引
    23 # 修改
    24 # li[1] = 120
    25 # print(li)
    26 # li[1] = [11,22,33,44]
    27 # print(li)
    28 
    29 # 删除,第一种方式
    30 # print(li)
    31 # del li[1]
    32 # print(li)
    33 
    34 ############## 7 切片
    35 # 修改
    36 # print(li)
    37 # li[1:3] = [120,90]
    38 # print(li)
    39 
    40 # 删除
    41 # print(li)
    42 # del li[2:6]
    43 # print(li)
    44 
    45 # 8 in 操作
    46 # li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    47 # v1 = "石振文" in li
    48 # print(v1)
    49 # v2 = "age" in li
    50 # print(v2)
    51 ###### 列表中的元素,
    52 
    53 # 9 操作
    54 # li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    55 # print(li[4][1][0])
    56 
    57 # 10 转换
    58 # 字符串转换列表   li =  list("asdfasdfasdf"), 内部使用for循环
    59 # s = "pouaskdfauspdfiajsdkfj"
    60 # new_li = list(s)
    61 # print(new_li)
    62 
    63 # 列表转换成字符串,
    64 # 需要自己写for循环一个一个处理: 既有数字又有字符串
    65 # li = [11,22,33,"123","alex"]
    66 # r = str(li) # '[11,22,33,"123","alex"]'
    67 # print(r)
    68 # s = ""
    69 # for i in li:
    70 #     s = s + str(i)
    71 # print(s)
    72 
    73 # 直接使用字符串join方法:列表中的元素只有字符串
    74 # li = ["123","alex"]
    75 # v = "".join(li)
    76 # print(v)
    77 
    78 ### 补充:字符串创建后,不可修改
    79 # v = "alex"
    80 # v = v.replace('l','el')
    81 # print(v)
    82 
    83 # li = [11,22,33,44]
    84 # li[0]
    85 # li[0] = 999
    86 
    87 # s = "alex"
    88 # li[0]
    89 # s[0] = "E"
    90 # print(s)
    91 # 列表,有序;元素可以被修改

    #########################################元组###########################################################

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 
     5 # 元组,元素不可被修改,不能被增加或者删除
     6 # tuple
     7 # tu = (11,22,33,44,22,22,22)
     8 # print(tu.count(22))#获取指定元素在元组中出现的次数
     9 # print(tu.index(22))
    10 
    11 # 1. 书写格式
    12 tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
    13 # 一般写元组的时候,推荐在最后加入 ,
    14 # 元素不可被修改,不能被增加或者删除
    15 
    16 # 2. 索引
    17 # v = tu[0]
    18 # print(v)
    19 
    20 # 3. 切片
    21 # v = tu[0:2]
    22 # print(v)
    23 
    24 # 4. 可以被for循环,可迭代对象
    25 # for item in tu:
    26 #     print(item)
    27 
    28 # 5. 转换
    29 s = "asdfasdf0"
    30 li = ["asdf","asdfasdf"]
    31 tu = ("asdf","asdf")
    32 
    33 # v = tuple(s)
    34 # print(v)
    35 
    36 # v = tuple(li)
    37 # print(v)
    38 
    39 # v = list(tu)
    40 # print(v)
    41 
    42 # v = "_".join(tu)
    43 # print(v)
    44 
    45 # li = ["asdf","asdfasdf"]
    46 # li.extend((11,22,33,))
    47 # print(li)
    48 
    49 # 6.元组的一级元素不可修改/删除/增加
    50 tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
    51 # # 元组,有序。
    52 # v = tu[3][0][0]
    53 # print(v)
    54 # v=tu[3]
    55 # print(v)
    56 # tu[3][0] = 567
    57 # print(tu)

    ###################字典######################

      1 #!/usr/bin/env python
      2 # -*- coding:utf-8 -*-
      3 
      4 
      5 dic = {
      6     "k1": 'v1',
      7     "k2": 'v2'
      8 }
      9 # 1 根据序列,创建字典,并指定统一的值
     10 # v = dict.fromkeys(["k1",123,"999"],123)
     11 # print(v)
     12 
     13 # 2 根据Key获取值,key不存在时,可以指定默认值(None)
     14 # v = dic['k11111']
     15 # print(v)
     16 # v = dic.get('k1',111111)
     17 # print(v)
     18 
     19 # 3 删除并获取值
     20 # dic = {
     21 #     "k1": 'v1',
     22 #     "k2": 'v2'
     23 # }
     24 # v = dic.pop('k1',90)
     25 # print(dic,v)
     26 # k,v = dic.popitem()
     27 # print(dic,k,v)
     28 
     29 # 4 设置值,
     30 # 已存在,不设置,获取当前key对应的值
     31 # 不存在,设置,获取当前key对应的值
     32 # dic = {
     33 #     "k1": 'v1',
     34 #     "k2": 'v2'
     35 # }
     36 # v = dic.setdefault('k1111','123')
     37 # print(dic,v)
     38 
     39 # 5 更新
     40 # dic = {
     41 #     "k1": 'v1',
     42 #     "k2": 'v2'
     43 # }
     44 # dic.update({'k1': '111111','k3': 123})
     45 # print(dic)
     46 # dic.update(k1=123,k3=345,k5="asdf")
     47 # print(dic)
     48 
     49 # 6 keys()  7 values()   8 items()   get   update
     50 ##########
     51 
     52 
     53 
     54 # 1、基本机构
     55 # info = {
     56 #     "k1": "v1", # 键值对
     57 #     "k2": "v2"
     58 # }
     59 #### 2 字典的value可以是任何值
     60 # info = {
     61 #     "k1": 18,
     62 #     "k2": True,
     63 #     "k3": [
     64 #         11,
     65 #         [],
     66 #         (),
     67 #         22,
     68 #         33,
     69 #         {
     70 #             'kk1': 'vv1',
     71 #             'kk2': 'vv2',
     72 #             'kk3': (11,22),
     73 #         }
     74 #     ],
     75 #     "k4": (11,22,33,44)
     76 # }
     77 # print(info)
     78 
     79 ####  3 列表、字典不能作为字典的key
     80 # info ={
     81 #     1: 'asdf',
     82 #     "k1": 'asdf',
     83 #     True: "123",
     84 #     # [11,22]: 123,
     85 #     (11,22): 123,
     86 #     # {'k1':'v1'}: 123
     87 #
     88 # }
     89 # print(info)
     90 
     91 # 4 字典无序
     92 
     93 # info = {
     94 #     "k1": 18,
     95 #     "k2": True,
     96 #     "k3": [
     97 #         11,
     98 #         [],
     99 #         (),
    100 #         22,
    101 #         33,
    102 #         {
    103 #             'kk1': 'vv1',
    104 #             'kk2': 'vv2',
    105 #             'kk3': (11,22),
    106 #         }
    107 #     ],
    108 #     "k4": (11,22,33,44)
    109 # }
    110 # print(info)
    111 
    112 # 5、索引方式找到指定元素
    113 # info = {
    114 #     "k1": 18,
    115 #     2: True,
    116 #     "k3": [
    117 #         11,
    118 #         [],
    119 #         (),
    120 #         22,
    121 #         33,
    122 #         {
    123 #             'kk1': 'vv1',
    124 #             'kk2': 'vv2',
    125 #             'kk3': (11,22),
    126 #         }
    127 #     ],
    128 #     "k4": (11,22,33,44)
    129 # }
    130 # v = info['k1']
    131 # print(v)
    132 # v = info[2]
    133 # print(v)
    134 # v = info['k3'][5]['kk3'][0]
    135 # print(v)
    136 
    137 # 6 字典支持 del 删除
    138 # info = {
    139 #     "k1": 18,
    140 #     2: True,
    141 #     "k3": [
    142 #         11,
    143 #         [],
    144 #         (),
    145 #         22,
    146 #         33,
    147 #         {
    148 #             'kk1': 'vv1',
    149 #             'kk2': 'vv2',
    150 #             'kk3': (11,22),
    151 #         }
    152 #     ],
    153 #     "k4": (11,22,33,44)
    154 # }
    155 # del info['k1']
    156 #
    157 # del info['k3'][5]['kk1']
    158 # print(info)
    159 
    160 # 7 for循环
    161 # dict
    162 info = {
    163     "k1": 18,
    164     2: True,
    165     "k3": [
    166         11,
    167         [],
    168         (),
    169         22,
    170         33,
    171         {
    172             'kk1': 'vv1',
    173             'kk2': 'vv2',
    174             'kk3': (11,22),
    175         }
    176     ],
    177     "k4": (11,22,33,44)
    178 }
    179 # for item in info:
    180 #     print(item)
    181 #
    182 # for item in info.keys():
    183 #     print(item)
    184 #
    185 # for item in info.values():
    186 #     print(item)
    187 
    188 # for item in info.keys():
    189 #     print(item,info[item])
    190 
    191 # for k,v in info.items():
    192 #     print(k,v)
    193 
    194 # True 1  False 0
    195 # info ={
    196 #     "k1": 'asdf',
    197 #     True: "123",
    198 #     # [11,22]: 123
    199 #     (11,22): 123,
    200 #     # {'k1':' v1'}: 123
    201 #
    202 # }
    203 # print(info)

    ####################### 整理 #################

    # 一、数字
    # int(..)
    # 二、字符串
    # replace/find/join/strip/startswith/split/upper/lower/format
    # tempalte = "i am {name}, age : {age}"
    # # v = tempalte.format(name='alex',age=19)
    # v = tempalte.format(**{"name": 'alex','age': 19})
    # print(v)
    # 三、列表
    # append、extend、insert
    # 索引、切片、循环
    # 四、元组
    # 忽略
    # 索引、切片、循环 以及元素不能被修改
    # 五、字典
    # get/update/keys/values/items
    # for,索引

    # dic = {
    # "k1": 'v1'
    # }

    # v = "k1" in dic
    # print(v)

    # v = "v1" in dic.values()
    # print(v)
    # 六、布尔值
    # 0 1
    # bool(...)
    # None "" () [] {} 0 ==> False

  • 相关阅读:
    30条MySQL优化总结
    安装了最新的pycharm不能自动补全的解决方法。路径中输入变成¥的解决方法
    You should consider upgrading via the 'python -m pip install --upgrade pip' command解决方法
    B站MySQL学习之笔记
    B站MySQL学习之job_grades表数据
    B站MySQL学习之student数据
    Faker 造相对真实的测试数据
    浏览器地址栏输入url后的过程
    cookie、session及token的区别
    Get和Post的区别
  • 原文地址:https://www.cnblogs.com/sqy-yyr/p/10822512.html
Copyright © 2011-2022 走看看