zoukankan      html  css  js  c++  java
  • python学习笔记,视频day12-列表、元组、字典+整理

    列表-list

    li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]

    • 列表中用[ ]
    • ,分割每个元素
    • 列表的元素可以是数字、字符串、列表、布尔值...
    • “集合”,内部放置任何东西

    功能:索引,切片,支持for、while 循环,修改,删除,in,字符串转换成列表(list())

    li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
    # 索引
    print(li[2])
    # 切片,切片结果也是列表
    print(li[2:4])
    结果
    age
    ['age', ['杨幂', ['19', '10'], 'alex']]
    #找到19
    v=li[3][1][0]
    print(v)
    # 修改,索引方式
    li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
    li[1]="2222"
    print(li)
    结果
    [11, '2222', 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']
    # 修改,切片方式
    li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
    li[1:3]=["2222","aaa"]
    print(li)
    # 结果
    [11, '2222', 'aaa', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']
    # 支持for、while 循环
    li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
    for item in li:
        print(item)
    结果
    11
    22
    age
    ['杨幂', ['19', '10'], 'alex']
    name
    True
    pu
    # 删除,索引方式
    li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
    del li[1]
    print(li)
    结果
    [11, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']
    # 删除,切片方式
    li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
    del li[1:3]
    print(li)
    # 结果
    [11, ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']


    #删除某个值并获取删除的值,默认情况下删除最后一个值index--索引
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, 22,"pu"]
    v=li.pop(2)
    print(v)
    print(li)
    # 结果
    age
    [11, 22, ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu', 22]

    # 删除列表中的某个值,左边优先
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, 22,"pu"]
    v=li.remove(22)
    print(v)
    print(li)
    # 结果
    None
    [11, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 22, 'pu']
    #in
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
    v=22 in li
    print(v)
    # 结果
    True
    # 字符串转换成列表,数字不能转换成列表
    str = "fast2biubiu"
    v=list(str)
    print(v)
    # 结果
    ['f', 'a', 's', 't', '2', 'b', 'i', 'u', 'b', 'i', 'u']

    # 列表转换成字符串,若既有数字又有字符串
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
    s=""
    for item in li:
        s+=str(item)
    print(s)
    # 结果
    1122age['杨幂', ['19', '10'], 'alex']nameTruepu

    # 列表转换成字符串,列表中的元素只有字符串,通过join
    li=["aa","bb","cc"]
    v="".join(li)
    print(v)
    # 结果
    aabbcc
    
    

     方法:

    append、删除(del[0],del[2:8],pop,remove,clear)、extend、reverse()
    # list类,li是list类中的一个对象,对象具有的方法都在list类中保存
    #append调用方法时传递参数,原来值后追加
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
    v=li.append(122)
    print(v)
    v2=li.append(["love",20])#li对象调用append方法
    print(li)
    # 结果
    None
    [11, 22, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu', 122, ['love', 20]]

    #扩展原列表,(iterable可迭代的对象)
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu",22]
    li.extend("age22")
    li.extend(["wo","bu"])
    print(li)
    # 结果
    [11, 22, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu', 22, 'a', 'g', 'e', '2', '2', 'wo', 'bu']

    #insert,在指定索引位置插入元素
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu",22]
    li.insert(2,"bu")
    print(li)
    # 结果
    [11, 22, 'bu', 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu', 22]
     
    #清空
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
    li.clear()
    print(li)
    # 结果
    []
    #copy,浅
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
    v=li.copy()
    print(v)
    # 结果
    [11, 22, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']
    # 计算元素出现的次数
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu",22]
    v=li.count(22)
    print(v)
    # 结果
    2
    #根据值获得当前值的索引位置,(左边优先)
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu",22]
    v=li.index("name")
    print(v)
    # 结果
    4
    # 反转
    li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, 22,"pu"]
    li.reverse()
    print(li)
    # 结果
    ['pu', 22, True, 'name', ['杨幂', ['19', '10'], 'alex'], 'age', 22, 11]

    # 排序
    li = [11, 22,33,44,22,1]
    li.sort()
    print(li)
    # 结果
    [1, 11, 22, 22, 33, 44]

    # 排序
    li = [11, 22,33,44,22,1]
    li.sort(reverse=True)
    print(li)
    # 结果
    [44, 33, 22, 22, 11, 1]
    ###欠
    # cmp
    # key
    # sorted

    元组-tuple(不可删除元素)

    • 用()
    • 元素可以是数字、字符串、元组、列表、布尔值
    • 为了区分元组和函数,一般在最后一个元素后加逗号
    • 元组的第一层级元素不可删除,可通过方法删除整个元组
    # 元组是列表的二次加工,加工后元素不能被修改或删除

    索引、切片、for循环、

    # 索引 取值“daxia”:
    tu=(11,"Alex",([22,"daxia",True],33,55),False,44,)
    v=tu[2][0][1]
    print(v)
    # 切片 取值(([22,"daxia",True],33,55),False)
    tu=(11,"Alex",([22,"daxia",True],33,55),False,44,)
    v=tu[2:4]
    print(v)

    # for循环
    tu = (11, "Alex", ([22, "daxia", True], 33, 55), False, 44,)
    for item in tu:
    print(item)
    结果
    11
    Alex
    ([22, 'daxia', True], 33, 55)
    False
    44
    转换
    # 列表转换成元组
    li=['pu', 22, True, 'name', ['杨幂', ['19', '10'], 'alex'], 'age', 22, 11]
    tu=tuple(li)
    print(tu)
    # 结果
    ('pu', 22, True, 'name', ['杨幂', ['19', '10'], 'alex'], 'age', 22, 11)
    # 元组转换列表
    tu = (11, "Alex", ([22, "daxia", True], 33, 55), False, 44,)
    v=list(tu)
    print(v)
    # 结果
    [11, 'Alex', ([22, 'daxia', True], 33, 55), False, 44]
    #count,获取指定元素在元组中出现的次数
    tu = (11, "Alex", ([22, "daxia", True], 33, 55), False, 44,22,44) v=tu.count(44) print(v) # 结果 2
    # 索引位置
    tu = (11, "Alex", ([22, "daxia", True], 33, 55), False, 44,22,44)
    v=tu.index(44)
    print(v)
    # 结果
    #4

    字典-dic

    1、基本结构

    • 用{ }
    • 元素可以是数字、字符串、元组、列表、布尔值(在内存中存储为0,1)、字典

    注意:

      若keys值同时有1和True,取keys为1对应的值;若有2和True,不影响;同理,False。

      字典是无序的,同一个程序每次输出的顺序不一致。

    索引、删除、for循环、无while循环、无发切片查找

    # 字典,中是harsh保存
    #列表(动态)、字典(保存根据harsh表保存)0不能作为字典的key,value可以是任何值
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi",
        "k4":[
            222,
            {
                "KK1":33,
                True:"xiangmi"
            }
        ],
        "K5":("zhangyishan",22),
         False:22
    }
    print(dic)
    # 结果:{1: 11, 'k2': 'alex', (22, 'yun'): 'yangzi', 'k4': [222, {'KK1': 33, True: 'xiangmi'}], 'K5': ('zhangyishan', 22), False: 22}
    #索引
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi",
        "k4":[
            222,
            {
                "chaoge":("yangguo",55),
                "KK1":33,
                True:"xiangmi"
            }
        ],
        "K5":("zhangyishan",22),
         False:22
    }
    v=dic["k2"]
    v1=dic["k4"][1]["chaoge"]
    print(v,v1)
    # 结果:
    alex ('yangguo', 55)

     

    # 字典支持删除
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi",
        "k4":[
            222,
            {
                "chaoge":("yangguo",55),
                "KK1":33,
                True:"xiangmi"
            }
        ],
        "K5":("zhangyishan",22),
         False:22
    }
    del dic["k2"]
    del dic["k4"][1]["chaoge"]
    
    print(dic)
    # 结果:
    # {1: 11, (22, 'yun'): 'yangzi', 'k4': [222, {'KK1': 33, True: 'xiangmi'}], 'K5': ('zhangyishan', 22), False: 22}

     

    # 字典for循环,默认循环只有key
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi",
        "k4":[
            222,
            {
                "chaoge":("yangguo",55),
                "KK1":33,
                True:"xiangmi"
            }
        ],
        "K5":("zhangyishan",22),
         False:22
    }
    # for item in dic:
    #     print(item)
    for item in dic.keys():
        print(item)
    # 结果:
    # {1
    # k2
    # (22, 'yun')
    # k4
    # K5
    # False
    
    
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi",
        "k4":[
            222,
            {
                "chaoge":("yangguo",55),
                "KK1":33,
                True:"xiangmi"
            }
        ],
        "K5":("zhangyishan",22),
         False:22
    }
    # for item in dic:
    #     print(item)
    for item in dic.values():
        print(item)
    # 结果:
    # 11
    # alex
    # yangzi
    # [222, {'chaoge': ('yangguo', 55), 'KK1': 33, True: 'xiangmi'}]
    # ('zhangyishan', 22)
    # 22
    View Code
    #取值key和value
    #方法一
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi",
        "k4":[
            222,
            {
                "chaoge":("yangguo",55),
                "KK1":33,
                True:"xiangmi"
            }
        ],
        "K5":("zhangyishan",22),
         False:22
    }
    for item in dic:
        print(item,dic[item])
    
    # 结果:
    # 1 11
    # k2 alex
    # (22, 'yun') yangzi
    # k4 [222, {'chaoge': ('yangguo', 55), 'KK1': 33, True: 'xiangmi'}]
    # K5 ('zhangyishan', 22)
    # False 22
    #方法二
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi",
        "k4":[
            222,
            {
                "chaoge":("yangguo",55),
                "KK1":33,
                True:"xiangmi"
            }
        ],
        "K5":("zhangyishan",22),
         False:22
    }
    for k,v in dic.items():
        print(k,v)

    dict方法

     

    keys(),values、items、fromkeys、get、pop、setdefault、

     

     

    #1、根据序列,创建字典,并指定统一的值
    v=dict.fromkeys(["k1",122,"alex"],123)
    print(v)
    # 结果
    # {'k1': 123, 122: 123, 'alex': 123}
    #2、通过索引方式取值,若keys值不存在,报错。通过get取值不报错
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi"
    }
    v=dic.get("k111")
    print(v)
    # 结果
    # None
    # 表示keys值不存在时,将后面的值返回
    v=dic.get("k111","yun")
    print(v)
    # 结果
    # yun
    
    
    #3、 删除并获取值
    dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi"
    }
    v=dic.pop("k2")
    print(v)
    print(dic)
    # 结果
    # alex
    # {1: 11, (22, 'yun'): 'yangzi'}
    #popitem()随机删除
    dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi"
    }
    v=dic.popitem()
    print(v)
    print(dic)
    # 结果
    # ((22, 'yun'), 'yangzi')
    # {1: 11, 'k2': 'alex'}

    dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi"
    }
    k,v=dic.popitem()
    print(dic,k,v)
    # 结果
    # {1: 11, 'k2': 'alex'} (22, 'yun') yangzi
    
    
    # 4、设置值,若已存在,不设置,获取当前keys对应的值;若不存在,获取当前keys对应的值
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi"
    }
    v=dic.setdefault("k3",223)
    print(v,dic)
    # 结果
    # 223 {1: 11, 'k2': 'alex', (22, 'yun'): 'yangzi', 'k3': 223}
    
    
    #update
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi"
    }
    
    v=dic.update(k1=11111,k2="yangmi")
    print(dic)
    # 结果
    # {1: 11, 'k2': 'yangmi', (22, 'yun'): 'yangzi', 'k1': 11111}
    
    
    #in
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi"
    }
    v="k1" in dic
    print(v)
    # 结果
    # False
    dic={
        1:11,
        "k2":"alex",
        (22,"yun"):"yangzi"
    }
    v="alex" in dic.values()
    print(v)
    # 结果
    # True
     

     

    • @staticmethod # known case ,表示#静态方法,表示可以用类名.方法访问
    • (*args, **kwargs)表示万能参数 # def fromkeys(*args, **kwargs): # real signature unknown
    • **kwargs表示可以写成name="",也可以直接传字典

    整理

    常用的方法:
    一、数字
      int()
    二、字符串
      replace、find、join、strip、startwith、split、upper、lower、format
    三、列表
      append、extend、insert
      索引、切片、循环
    四、元组
      特性:一级元素不能修改删除增加
      索引、切片、循环
    五、字典
      get、update、keys、values、items
      索引、循环
    六、布尔值
      在内存中是0或1
      None,"",(),[],{},0===>False

     

  • 相关阅读:
    主键为整型数据库设计
    raid1与raid5
    asp.net限时发送手机验证码
    利用jQuery与.ashx完成简单的Ajax
    Solr使用in语法查询
    Solr高效利用:Solr实现SQL的查询与统计
    lucene 的评分机制
    fastcgi配置
    安装elasticsearch及中文IK和近义词配置
    php多进程处理
  • 原文地址:https://www.cnblogs.com/ppll/p/11462550.html
Copyright © 2011-2022 走看看