美文网首页Python面试题
Python高级变量类型列表详解

Python高级变量类型列表详解

作者: 大猪厂 | 来源:发表于2018-06-03 16:16 被阅读2次

    标签: Python列表


    列表的定义

    • list(列表)是Python中使用最频繁的数据类型,在其他语言中通常叫做数组
    • 列表是有序的集合
    • 定义列表使用[]定义,数据之间使用,分割
    name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    
    • 列表的索引从0开始
      • 索引就是数据在列表中的位置编号,索引有可以被称为下标
    • 注意:从列表中取值时,如果超出索引范围,程序会产生异常
    IndexError: list index out of range
    

    列表的常用操作

    增加

    • 列表名.insert(index, 数据):在指定位置插入数据(位置前有空元素会补位)
    # 往列表name_list 下标为0的地方插入数据
    name_list.insert(0,'sasuke')
    
    name_list
    Out[3]: ['sasuke', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    
    # 现有的列表下标为0-4,如果我们要在下标是6的地方插入数据,那么会自动被插入到下标为5的地方,也就是插入到最后
    name_list.insert(6, 'Tom')
    
    name_list
    Out[5]: ['sasuke', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'Tom']
    
    • 列表名.append(数据):在列表的末尾追加数据(最常用的方法)
    name_list.append('Python')
    
    name_list
    Out[7]: ['sasuke', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'Tom', 'Python']
    
    
    • 列表.extend(Iterable):将可迭代对象中的元素追加到列表
    # 有两个列表a 和 b a.extend(b)会将b中的元素追加到列表a中
    a = [11, 22, 33]
    b = [44, 55, 66]
    a.extend(b)
    
    a
    Out[11]: [11, 22, 33, 44, 55, 66]
    
    # 有列表c 和字符串d c.extend(d) 会将字符串d中的每一个字符拆开作为元素插入到列表c
    c = ['j', 'a', 'v', 'a']
    d = 'python'
    c.extend(d)
    
    c
    Out[15]: ['j', 'a', 'v', 'a', 'p', 'y', 't', 'h', 'o', 'n']
    
    • 取值和修改
      • 取值:列表名[index]:根据下标来取值
    name_list
    Out[16]: ['sasuke', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'Tom', 'Python']
    
    name_list[0]
    Out[17]: 'sasuke'
    
    name_list[3]
    Out[18]: 'wangwu'
    
    • 修改:列表名[index] = 数据:修改指定索引的数据
    # 将列表中下标为0的值sasuke修改为num01
    name_list[0] = 'num01'
    
    name_list
    Out[20]: ['num01', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'Tom', 'Python']
    
    • 删除
      • del列表名[index]:删除指定索引的数据
    name_list
    Out[21]: ['num01', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'Tom', 'Python']
    # 删除索引为1的数据
    del name_list[1]
    
    name_list
    Out[23]: ['num01', 'lisi', 'wangwu', 'zhaoliu', 'Tom', 'Python']
    
    • 列表名.pop():删除末尾的数据,返回值:返回被删除的元素
    name_list
    Out[24]: ['num01', 'lisi', 'wangwu', 'zhaoliu', 'Tom', 'Python']
    
    # 删除最后一个元素Python并将Python返回
    name_list.pop()
    Out[25]: 'Python'
    
    name_list
    Out[26]: ['num01', 'lisi', 'wangwu', 'zhaoliu', 'Tom']
    
    • 列表名.pop(index):删除指定索引的数据,并返回被删除的元素
    name_list
    Out[27]: ['num01', 'lisi', 'wangwu', 'zhaoliu', 'Tom']
    
    # 删除索引为1的数据lisi
    name_list.pop(1)
    Out[28]: 'lisi'
    
    name_list
    Out[29]: ['num01', 'wangwu', 'zhaoliu', 'Tom']
    
    • 列表名.clear():清空整个列表的元素
    name_list
    Out[30]: ['num01', 'wangwu', 'zhaoliu', 'Tom']
    
    name_list.clear()
    
    name_list
    Out[32]: []
    

    排序

    • 列表名.sort():升序排序,从小到大
    a = [33, 44, 22, 66, 11]
    a.sort()
    
    a
    Out[35]: [11, 22, 33, 44, 66]
    
    • 列表名.sort(reverse = True):降序排序,从大到小
    a = [33, 44, 22, 66, 11]
    
    a.sort(reverse = True)
    
    a
    Out[38]: [66, 44, 33, 22, 11]
    
    • 列表名.reverse():列表逆序、反转
    a = [11, 22, 33, 44, 55]
    
    a.reverse()
    
    a
    Out[41]: [55, 44, 33, 22, 11]
    

    统计相关

    • len(列表名):得到列表的长度
    a = [11,22,33,44,55]
    
    len(a)
    Out[43]: 5
    
    • 列表名.count(数据):数据在列表中出现的次数
    a = [11, 22, 33, 11, 11]
    
    a.count(11)
    Out[45]: 3
    
    • 列表名.index(数据):数据在列表中首次出现时的索引,没有查到会报错
    a = [11, 22, 33, 44, 22]
    
    a.index(22)
    Out[47]: 1
    
    • if 数据in列表:判断列表中是否包含某元素
    a = [11, 22, 33, 44, 55]
    
    if 33 in a:
        print('ok')
        
    

    循环遍历

    • 使用while循环
    a =[11, 22, 33, 44, 55]
    
    i = 0
    
    while i < len(a):
        print(a[i])
        i += 1
        
    11
    22
    33
    44
    55
    
    • 使用for循环:
    a = [11, 22, 33, 44, 55]
    
    for i in a:
        print(i)
        
    11
    22
    33
    44
    55
    

    相关文章

      网友评论

        本文标题:Python高级变量类型列表详解

        本文链接:https://www.haomeiwen.com/subject/snbjsftx.html