zoukankan      html  css  js  c++  java
  • Python基本数据类型之列表

    学习Python的列表类型需要了解和掌握什么是列表、列表的可变性、列表的访问、列表的增删改查等操作~

    1.了解列表

    
    list1 = ['abc', 123, {1, 2, 3},[2,3]]
    
    • Python中的列表有点类似与C语言中的数组的概念;
    • python中的列表是可变的,且列表内部由元素组成,元素可以是任意对象,也就是说列表的数据项不需要具有相同的类型,比如整形、浮点型、字符串、其他类的对象、实例等都可以作为列表的元素。

    2.列表的定义

    下面是4种定义列表的方法:

    
    lst = list()  #定义一个空列表
    
    lst = []  #定义一个空列表
    
    lst = [1,2,3.5,'abc']  #元素可以是任意数据类型
    
    lst = list(range(10))  #定义一个从0到9的列表
    

    3.列表的可变性

    
        a = 1
        print(id(a))    #输出:262330544
        a = 2
        print(id(a))    #输出:262330560
    
    • 列表的可变与不可变性,是对内存地址而言的;
    • 被初始化的列表,可以通过列表的API接口对列表的元素进行增删改查;

    4.列表的访问

    列表是有序集合,所以列表可以通过索引访问

    
      lst = [1,2,3,4,5]  #初始化一个列表lst
    
    • 通过索引访问列表里面的值,列表名[索引大小](索引是从0开始计算的);
    
      print(lst[1])  #输出2
    
    • 通过index方法获取值对应的索引,列表名.index(值);
    
      print(lst.index(4))  #输出 3
    
    • 通过count方法获取值在列表中出现的次数,列表名.count(值);
    
      print(lst.count(2))  #输出1
    
    • 通过len()函数获取列表的长度,len(列表名);

    print(len(lst)) #输出5

    
    
    #### **5.列表的插入**
    

    lst = [1,2,3,4,5] #初始化一个列表

    
    
    *   **append方法**:在列表的末尾插入数据;
    

    lst.append(5)
    print(lst) 输出[1, 2, 3, 4, 5, 5]

    
    
    *   **insert方法**:在列表的任意位置插入数据;
    

    lst.insert(0, 100)
    print(lst) 输出[100, 1, 2, 3, 4, 5]

    
    
    *   **extend方法**:添加可迭代对象的元素;
    

    lst.extend(range(10))
    print(lst) 输出[1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    
    
    *   `+`:叠加两个列表元素;
    

    lst_new = lst + [1,2,3]
    print(lst_new) 输出 [1, 2, 3, 4, 5, 1, 2, 3]

    
    
    *   `*`:复制列表元素;
    

    lst_new = lst * 3
    print(lst_new) 输出 [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

    
    
    #### **6.列表的删除**
    

    lst = [1,2,3,4,5] #初始化一个列表

    
    
    *   **remove方法**:移除从左自右的第一个匹配的元素;
    

    lst.remove(3)
    print(lst) 输出[1, 2, 4, 5]

    
    
    *   **pop方法**:带值的情况下,移除指定索引的元素,在不带值的情况下,移除最后一个元素;
    

    lst.pop(2)
    print(lst) 输出[1, 2, 4, 5]

    lst.pop()
    print(lst) 输出[1, 2, 3, 4]

    
    
    *   **clear方法**:清空整个列表;
    

    lst.clear()
    print(lst) 输出[]

    
    
    #### **7.列表的排序**
    

    lst = [1,2,3,4,5] #初始化一个列表

    
    
    *   **reverse方法**:将列表中的元素反向;
    

    lst.reverse()
    print(lst) 输出[5, 4, 3, 2, 1]

    
    *   **sort方法**:给元素排序,(注:reverse控制指定是正向还是反向,默认是False,代表升序);
    

    lst.sort()
    print(lst) 输出[1, 2, 3, 4, 5]

    lst.sort(reverse=True)
    print(lst) 输出[5, 4, 3, 2, 1]

    
    
    *   **in 关键字**:判断元素是否在列表里面;
    

    if 1 in lst:

    
    print('yes')  输出yes
    
    
    
    
    #### **8.列表的复制**
    

    lst = [1,[1,2,3],3,4,5]

    lst_new = lst.copy()
    print(lst_new) #输出[1, [1, 2, 3], 3, 4, 5]

    lst1 = 100
    print(lst_new) #输出[1, [1, 100, 3], 3, 4, 5]

    
    
    *   **浅拷贝**:如果改变原始列表的值,copy得到的新的列表的值会跟着改变;
    

    import copy #导入一个copy模块
    lst = [1,[1,2,3],3,4,5]

    lst_new = copy.deepcopy(lst)
    print(lst_new) #输出[1, [1, 2, 3], 3, 4, 5]

    lst1 = 100
    print(lst_new) #输出[1, [1, 2, 3], 3, 4, 5]

    
    
    
    *   **深拷贝**:注意需要导入一个copy模块,深拷贝和前拷贝相反,如果改变原始列表的值,copy得到的新的列表的值并不会跟着改变;
    
    #### **9.random模块**
    

    import random #导入random模块
    print(random.randint(1,100)) #输出1到99中任意一个整数
    print(random.choice(['x',3,5,7])) #输出这四个元素中的任意一个
    print(random.randrange(1,100,2)) #输出1到99中的任意一个属于 2n+1 的值

    lst = [1,2,3,4,5]
    random.shuffle(lst) #将lst列表打乱
    print(lst)

    
    *   需要导入一个**random模块**;
    
    *   **randint**:取区间中任意一个值,注意区间是闭区间;
    
    *   **choice**:从给出列表中随机取一个值;
    
    *   **randrange**:左边是闭区间,右边是开区间;
    
    *   **shuffle**:将列表打乱;
    
    
    
    
    

    来源:https://segmentfault.com/a/1190000018207773

  • 相关阅读:
    excel生成csv后,0001变成1
    windows_server_2012_r2提示api-ms-win-crt-runtime-l1-1-0.dll 丢失
    py文件生成exe程序
    朴素贝叶斯分类(上)
    01 | 数据分析全景图及修炼指南
    BBS
    BBS
    BBS
    BBS
    BBS
  • 原文地址:https://www.cnblogs.com/qixidi/p/10406094.html
Copyright © 2011-2022 走看看