zoukankan      html  css  js  c++  java
  • Python学习——02-Python基础——【3列表、元组、字典】

    列表

    列表:Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

        比如,列出班里所有同学的名字,就可以用一个list表示

      

    创建列表
            list 类,列表
            li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True] 通过list类创建的对象,li
            list 类
            list类的一个对象
    1
    2
    3
    name_list = ['alex''seven''eric']
    name_list = list(['alex''seven''eric'])

    基本操作

    • 索引
    • 切片
    • 追加
    • 删除
    • 长度
    • 切片
    • 循环
    • 包含

       

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

              li = [11, 22, 33, 22, 44]
                参数

        1. 原来值最后追加对象.方法(..)

        li对象调用append方法

    li = [11, 22, 33, 22, 44]
    li.append(5)
    li.append("alex")
    li.append([1234,2323])
    print(li)

        2 清空列表

    li = [11, 22, 33, 22, 44]
    li.clear()
    print(li)

        3 拷贝,浅拷贝

    li = [11, 22, 33, 22, 44]
    v = li.copy()
    print(v)


        4. 计算元素出现的次数

    li = [11, 22, 33, 22, 44]
    v = li.count(22)
    print(v)

        5. 扩展原列表,参数:可迭代对象

    li = [11, 22, 33, 22, 44]
    li = [11, 22, 33, 22, 44]
    li.append([9898,"不得了"])
    [11, 22, 33, 22, 44, [9898, '不得了']]
    
    li.extend([9898,"不得了"])
    for i in [9898,"不得了"]:
    li.append(i)
    [11, 22, 33, 22, 44, 9898, '不得了']
    
    li.extend("不得了")
    print(li)

        6. 根据值获取当前值索引位置(左边优先)

    li = [11, 22, 33, 22, 44]
    v= li.index(22)
    print(v)

        7. 在指定索引位置插入元素

    li = [11, 22, 33, 22, 44]
    li.insert(0,99)
    print(li)

        8、 删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值

    li = [11, 22, 33, 22, 44]
    v = li.pop()
    print(li)
    print(v)
    li = [11, 22, 33, 22, 44]
    v = li.pop(1)
    print(li)
    print(v)


        9. 删除列表中的指定值,左边优先

    li = [11, 22, 33, 22, 44]
    li.remove(22)
    print(li)

    PS: pop remove del li[0] del li[7:9] clear

        10 将当前列表进行翻转

    li = [11, 22, 33, 22, 44]
    li.reverse()
    print(li)

        11 列表的排序

    li = [11,44, 22, 33, 22]
    li.sort()
    li.sort(reverse=True)
    print(li)


    cmp
    key
    sorted

    ################################# 深灰魔法 ###############################

        1. 列表格式
        2. 列表中可以嵌套任何类型
        中括号括起来
        ,分割每个元素
        列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去
        “集合”,内部放置任何东西
        """
        3.索引取值
        print(li[3])
        4 切片,切片结果也是列表
        print(li[3:-1])

        5 for循环
        while循环
        for item in li:
        rint(item)
        """
      列表元素,可以被修改

          li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]

        6 索引
        修改

    li[1] = 120
    print(li)
    li[1] = [11,22,33,44]
    print(li)
    
    删除,第一种方式
    del li[1]
    print(li)

        7 切片
        修改

    li[1:3] = [120,90]
    print(li)
    删除
    del li[2:6]
    print(li)

        8 in 操作

    li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    v1 = "石振文" in li
    print(v1)
    v2 = "age" in li
    print(v2)

        9 操作

    li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    li[4][1][0]
    [1]
    
    li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    
    s = "pouaskdfauspdfiajsdkfj"
    s = 123
    a = "123"
    int(a)
    a = 123
    str(a)

        10 转换
          字符串转换列表

    li = list("asdfasdfasdf"), 内部使用for循环
    s = "pouaskdfauspdfiajsdkfj"
    new_li = list(s)
    print(new_li)

        列表转换成字符串,
              需要自己写for循环一个一个处理: 既有数字又有字符串

    li = [11,22,33,"123","alex"]
    r = str(li) '[11,22,33,"123","alex"]'
    print(r)
    s = ""
    for i in li:
    s = s + str(i)
    print(s)


        直接使用字符串join方法:列表中的元素只有字符串

    li = ["123","alex"]
    v = "".join(li)
    print(v)

    补充:字符串创建后,不可修改

    v = "alex"
    v = v.replace('l','el')
    print(v)
    
    li = [11,22,33,44]
    li[0]
    li[0] = 999
    
    s = "alex"
    li[0]
    s[0] = "E"
    
    li = [11,22,33,44]
    print(li)

        列表,有序;元素可以被修改

        列表
        list
        li = [111,22,33,44]



    元组

    元祖:另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,元素不可被修改,不能被增加或者删除

     
    创建元祖:
    1
    2
    3
    ages = (1122334455)
    ages = tuple((1122334455))

        tuple
        tu = (11,22,33,44)
        tu.count(22),获取指定元素在元组中出现的次数
        tu.index(22)

    基本操作:
    • 索引
    • 切片
    • 循环
    • 长度
    • 包含
    ################################# 深灰魔法 ###############################


        1. 书写格式
            u = (111,"alex",(11,22),[(33,44)],True,33,44,)
            一般写元组的时候,推荐在最后加入 ,
            元素不可被修改,不能被增加或者删除
        2. 索引
          v = tu[0]
          print(v)

        3. 切片
          v = tu[0:2]
          print(v)

        4. 可以被for循环,可迭代对象
          for item in tu:
          print(item)

        5. 转换

    s = "asdfasdf0"
    li = ["asdf","asdfasdf"]
    tu = ("asdf","asdf")
    
    v = tuple(s)
    print(v)

        

    s = "asdfasdf0"
    li = ["asdf","asdfasdf"]
    tu = ("asdf","asdf")
    v = tuple(li)
    print(v)
    s = "asdfasdf0"
    li = ["asdf","asdfasdf"]
    tu = ("asdf","asdf")
    v = list(tu)
    print(v)

      

    s = "asdfasdf0"
    li = ["asdf","asdfasdf"]
    tu = ("asdf","asdf")
    v = "_".join(tu)
    print(v)
    s = "asdfasdf0"
    li = ["asdf","asdfasdf"]
    tu = ("asdf","asdf")
    li = ["asdf","asdfasdf"]
    li.extend((11,22,33,))
    print(li)

        6.元组的一级元素不可修改/删除/增加

    tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
    #元组,有序。
    v = tu[3][0][0]
    print(v)
    v=tu[3]
    print(v)
    tu[3][0] = 567
    print(tu)

    字典

    字典(无序):Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

    创建字典:
    1
    2
    3
    person = {"name""mr.wu"'age'18}
    person = dict({"name""mr.wu"'age'18})

        dict
        dict
          dic = {
            "k1": 'v1',
            "k2": 'v2'
             }

    常用操作:

    • 索引
    • 新增
    • 删除
    • 键、值、键值对
    • 循环
    • 长度
    #######################灰魔法: dic类中提供的方法 ###################


        1 根据序列,创建字典,并指定统一的值

    v = dict.fromkeys(["k1",123,"999"],123)
    print(v)

        2 根据Key获取值,key不存在时,可以指定默认值(None)

    v = dic['k11111']
    print(v)
    v = dic.get('k1',111111)
    print(v)

        3 删除并获取值

    dic = {
    "k1": 'v1',
    "k2": 'v2'
    }
    v = dic.pop('k1',90)
    print(dic,v)
    k,v = dic.popitem()
    print(dic,k,v)

        4 设置值,
            已存在,不设置,获取当前key对应的值
            不存在,设置,获取当前key对应的值

    dic = {
    "k1": 'v1',
    "k2": 'v2'
    }
    v = dic.setdefault('k1111','123')
    print(dic,v)

        5 更新

    dic = {
    "k1": 'v1',
    "k2": 'v2'
    }
    dic.update({'k1': '111111','k3': 123})
    print(dic)
    dic.update(k1=123,k3=345,k5="asdf")
    print(dic)

        6 keys() 7 values() 8 items() get update

    ############################## 深灰魔法 ###############################


        1、基本机构
            info = {
            "k1": "v1", 键值对
            "k2": "v2"
              }
        2 字典的value可以是任何值
            info = {
            "k1": 18,
            "k2": True,
            "k3": [
            11,
            [],
            (),
            22,
            33,
            {
            'kk1': 'vv1',
            'kk2': 'vv2',
            'kk3': (11,22),
            }
            ],
            "k4": (11,22,33,44)
            }
            print(info)

        3 布尔值(1,0)、列表、字典不能作为字典的key
            info ={
            1: 'asdf',
            "k1": 'asdf',
            True: "123",
            [11,22]: 123
            (11,22): 123,
            {'k1':'v1'}: 123

            }
            print(info)

        4 字典无序

    info = {
    "k1": 18,
    "k2": True,
    "k3": [
    11,
    [],
    (),
    22,
    33,
    {
    'kk1': 'vv1',
    'kk2': 'vv2',
    'kk3': (11,22),
    }
    ],
    "k4": (11,22,33,44)
    }
    print(info)

        5、索引方式找到指定元素

    info = {
    "k1": 18,
    2: True,
    "k3": [
    11,
    [],
    (),
    22,
    33,
    {
    'kk1': 'vv1',
    'kk2': 'vv2',
    'kk3': (11,22),
    }
    ],
    "k4": (11,22,33,44)
    }
    v = info['k1']
    print(v)
    v = info[2]
    print(v)
    v = info['k3'][5]['kk3'][0]
    print(v)

        6 字典支持 del 删除

    info = {
    "k1": 18,
    2: True,
    "k3": [
    11,
    [],
    (),
    22,
    33,
    {
    'kk1': 'vv1',
    'kk2': 'vv2',
    'kk3': (11,22),
    }
    ],
    "k4": (11,22,33,44)
    }
    del info['k1']
    
    del info['k3'][5]['kk1']
    print(info)

        7 for循环

    dict
    info = {
    "k1": 18,
    2: True,
    "k3": [
    11,
    [],
    (),
    22,
    33,
    {
    'kk1': 'vv1',
    'kk2': 'vv2',
    'kk3': (11,22),
    }
    ],
    "k4": (11,22,33,44)
    }
    for item in info:
    print(item)
    
    for item in info.keys():
    print(item)
    
    for item in info.values():
    print(item)
    
    for item in info.keys():
    print(item,info[item])
    
    for k,v in info.items():
    print(k,v)
    
    True 1 False 0
    info ={
    "k1": 'asdf',
    True: "123",
    [11,22]: 123
    (11,22): 123,
    {'k1':' v1'}: 123
    
    }
    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

  • 相关阅读:
    231. Power of Two
    204. Count Primes
    205. Isomorphic Strings
    203. Remove Linked List Elements
    179. Largest Number
    922. Sort Array By Parity II
    350. Intersection of Two Arrays II
    242. Valid Anagram
    164. Maximum Gap
    147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/caofu/p/8673446.html
Copyright © 2011-2022 走看看