• 基本数据类型-----列表


     一、列表(List)

         序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

         Python有6个序列的内置类型,但最常见的是列表元组

         序列都可以进行的操作包括索引,切片,加,乘,检查成员。

         此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

         列表中可以嵌套任何类型,中括号括起来,使用逗号分割每个元素,列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去

         创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

    # list  # 类,列表
    # li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    # 通过list类创建的对象 li
    •  使用索引取值

    print(li[3])
    • 切片,切片结果也是列表

    print(li[3:-1])
    • for循环

    for item in li:
        print(item)
    • while循环
    li = [11,22,33,'lee',44,'age']
    c = 0
    while c < len(li):
        print(li[c])
        c = c + 1
    • 修改列表元素(通过索引)
    li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    li[1] = 120
    print(li)
    li[1] = [11,22,33,44]
    print(li)

    输出:

    • 删除元素(通过索引)

    del li[1]
    print(li)
    • 修改元素(通过切片)
    li[1:3] = [120,90]    ##修改li[1]=120   ,   li[2]=90
    print(li)
    • 删除元素(通过切片)
    del li[2:6]   ##删除元素li[2]、li[3]、li[4]、li[5]
    print(li)
    • in 操作

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

    输出:

    • 取出列表中的元素
    li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
    v = li[4][1][0]
    print(v)

    输出:

    • 字符串类型转换为列表类型
    s = "pouaskdfauspdfiajsdkfj"
    new_li = list(s)
    print(new_li)

    输出:

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

    错误方法:

    li = [11,22,33,"123","alex"]
    r = str(li)
    print(r)
    print(type(r))

    输出:

    正确方法:使用for循环

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

    输出:

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

    li = ["123","alex"]
    v = "".join(li)     ##jion方法也是通过循环实现的
    print(v)

    #le = [123,1]     ##jion只适用于字符串,列表中所有元素为数字时也不可以用jion转成字符串
    #w = "".join(le)
    #print(w)

    输出:

     补充:字符串创建后,不可修改(以下的替换是生成了一个新的字符串aelex,占用了新的内存单元)

    v = "alex"
    v = v.replace('l','el')
    print(v)

    s = "alex"
    s[0] = 1 ##不能使用这种方法修改字符串中的某个字符

    输出:

    二、python中列表的函数&方法

    函数:

    方法:


    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(li)
    print(v)

    输出:

     4.计算元素出现的个数

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

    输出:

    5. 扩展原列表,参数:可迭代对象
    li = [11, 22, 33, 22, 44]
    li.extend([9898,"不得了"])       ##使用for循环将可迭代对象放入
    print(li)

    输出:

    这个方法的实现过程同下面的代码等价:

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

    输出:


    append和extend的比较:
    li = [11, 22, 33, 22, 44]
    li.append([9898,"不得了"])
    print(li)

    输出:(这个使用的是append方法,直接将列表这个整体追加到最后)

    6. 根据值获取当前值索引位置(左边优先)
    li = [11, 22, 33, 22, 44]
    v= li.index(22)
    print(v)

    输出:

      

    7. 在指定索引位置插入元素
    li = [11, 22, 33, 22, 44]
    li.insert(0,99)    ##在li[0]处插入99
    print(li)

    输出:

    8.删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值
    li = [11, 22, 33, 22, 44]
    v = li.pop()     ##不添加参数默认删除最后一个元素
    print(li)
    print(v)
    输出1:


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

    输出2:

     
    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)

    输出:

     
  • 相关阅读:
    ES6-01 2018-02-06
    8.1 IO类
    2.4 const限定符
    C++命名空间
    win7系统docker安装ubuntu
    win7安装docker
    wuzhicms 查看模板中的所有可用变量和值
    wuzhicms上传弹出层,如何返回数据到当前页面?
    wuzhicms 无规律推荐位标签的嵌套使用
    【wuzhicms】apache 设置禁止访问某些文件或目录
  • 原文地址:https://www.cnblogs.com/foever-lee/p/9949633.html
Copyright © 2020-2023  润新知