美文网首页Python
Python的基本数据类型——List

Python的基本数据类型——List

作者: 沐码人 | 来源:发表于2018-08-08 19:30 被阅读0次

    列表(list)是python中重要的数据类型,有点类似其它语言的数组,python中的列表可以是任意对象的集合

    怎么定义一个列表

    可以在[ ]中使用逗号隔开对象来定义列表

    a=['Hello','world']
    print(type(a))
    # 输出 list
    

    在python中列表很灵活,具有以下特点

    • 可以包含任意对象
    a=['hello',1,2,True,[0,'',1.234]]
    print(a)
    
    # 输出 
    ['hello', 1, 2, True, [0, '', 1.234]]
    
    • 可以无限嵌套
    a=[['a','b','c',['d','e',['f',['g',['h']]]]]]
    print(type(a))
    # 输出 list
    
    • 列表是有序的
      试想一下[1,2,3]和[3,2,1]相等吗
    a=[1,2,3]
    b=[3,2,1]
    print(a==b)
    # 输出 False
    
    print(a is b)
    # 输出 False
    
    • 可以通过索引和切片的方式访问列表中的元素
      列表和string一样可以通过索引和切片的方式里面的元素,在列表中也可以使用负数的方式访问
    a=[1,2,3,'Hello world']
    print(a[0])
    # 输出 1
    
    print(a[-1])
    # 输出 Hello world
    
    print(a[-1][:5])
    # 输出 Hello
    
    print(a[:2])
    # 输出 [1,2]
    
    print(a[3:4])
    print(a[-1:])
    # 上面的效果一样
    # 输出 ['Hello world']
    

    小思考

    # 怎么获取 7
    a=[1,2,3,[4,5,[6,[7]]]]
    
    .
    .
    .
    print(a[3][2][1][0])
    或
    print(a[-1][-1][-1][0])
    

    在列表中添加修改元素

    列表是可变的,这意味着我们可以对列表里的元素修改、添加、删除

    • 通过索引和切片的方式修改列表
    a=[1,2,3,4,5,6]
    a[1]=a[1]+1
    print(a)
    # 输出 [1, 3, 3, 4, 5, 6]
    
    a[-1]=10
    print(a)
    # 输出 [1, 3, 3, 4, 5, 10]
    
    a[:3]=['a','b','c']
    # 输出 ['a', 'b', 'c', 4, 5, 10]
    
    • 通过append( )、extend( )、+ 、insert( )添加元素
      上诉的4种方法都可以给列表添加元素,但是他们有什么不同呢?我们通过代码来演示一下

    使用append 添加元素

    a=[1,2,3,4]
    
    a.append(5)
    print(a)
    # 输出 [1,2,3,4,5]
    
    a.append([6,7,8])
    print(a)
    # 输出 [1, 2, 3, 4, 5, [6, 7, 8]]
    

    使用extend 添加元素

    a=[1,2,3,4]
    
    a.extend(5)
    # 输出 [1,2,3,4,5]
    
    a.extend([6,7,8])
    # 输出 [1,2,3,4,5,6,7,8]
    

    使用 + 添加元素

    a=[1,2,3,4]
    
    a=a+5 
    # 这样写会报错 因为一个list不能与int相加
    
    a=a+[5] 或者简写成a+=[5]
    print(a)
    # 输出 [1,2,3,4,5]
    
    a+=[6,7,8]
    print(a)
    # 输出 [1, 2, 3, 4, 5, 6, 7, 8]
    

    使用insert 添加元素

    a=[1,2,3,4]
    
    a.insert(4,5)
    print(a)
    # 输出 [1,2,3,4,5]
    
    a.insert(1,10)
    print(a)
    #  输出 [1,10,3,4,5]
    
    a.insert(5,[6,7,8])
    print(a)
    #  输出 [1,10,3,4,5,[6,7,8]]
    

    通过上面的演示我们可以很清楚的看出append( )、insert( )、extend( )、+ 之间的区别,实际使用过程中可以根据自己的实际情况,选择适当的方法

    • 通过del、clear( )、remove( )、pop( ) 删除list中的元素

    使用del删除元素

    a=[1,2,3,4]
    
    del a[0]
    print(a)
    # 输出 [2,3,4]
    
    del a[0:2]
    print(a)
    # 输出 [4]
    

    使用clear( ) 删除元素

    a=[1,2,3,4]
    
    a.clear()
    print(a)
    # 输出 []
    

    使用remove( ) 删除元素

    a=['a','b','c','d']
    
    a.remove('d')
    # 输出 ['a', 'b', 'c']
    

    使用pop( ) 删除元素

    a=['a','b','c','d']
    
    a.pop()
    # 返回 'd'
    # 输出 ['a', 'b', 'c']
    
    a.pop(2) 或 a.pop(-1)
    # 返回 'c'
    # 输出 ['a', 'b']
    

    通过上面的案例我们可以总结出以下几点

    • del 可以通过索引和切片删除列表中的元素
    • clear 可以清空列表
    • remove 可以删除指定列表中指定的元素
    • pop 也可以通过索引删除列表中的元素,而且会返回被删除的元素

    列表中常用的方法

    index( ) 返回元素的索引

    a=['a,'b','c']
    a.index('b')
    print(a)
    # 输出 1
    

    count( ) 统计列表中的指定元素数量

    a=['a','b','c']
    a.extend('a')
    print(a.count('a'))
    #  输出 2
    

    sort( ) 给列表中的元素排序

    a=[3,4,2,5,6,22,54,78,1,0]
    print(a.sort())
    # 输出  [0, 1, 2, 3, 4, 5, 6, 22, 54, 78]
    
    # 降序
    print(a.sort(reverse=True))
    # 输出 [78, 54, 22, 6, 5, 4, 3, 2, 1, 0]
    

    sort( )不返回任何值,而 sorted( )返回可迭代列表。

    a=[3,4,2,5,6,22,54,78,1,0]
    
    sorted(a)
    # 返回 [0, 1, 2, 3, 4, 5, 6, 22, 54, 78]
    
    sorted(a, reverse=True)
    # 返回 [78, 54, 22, 6, 5, 4, 3, 2, 1, 0]
    
    print(a)
    # 输出 [3, 4, 2, 5, 6, 22, 54, 78, 1, 0]
    

    reverse( ) 给列表中的元素反向排序

    a=['d', 3, 5, 1, 'a']
    a.reverse()
    
    print(a)
    # 输出 ['a', 1, 5, 3, 'd']
    

    更多内置函数

    方法 描述
    all( ) 判断列表中的所有元素是否全部是true
    any( ) 判断列表中的任意元素是否包含true
    len( ) 返回列表的长度
    max( ) 返回列表元素中最大值
    min( ) 返回列表元素中最小值
    sum( ) 返回列表元素的总和

    怎么判断一个元素是否存在于列表中

    • 第一种方法遍历
    a=[1,2,3,4,5]
    for x in a:
        if x==3
           print(True)
    
    
    • 通过in或者not in实现
    a=[1,2,3]
    print(1 in a)
    # 输出 True
    
    print(5 not in a)
    # 输出 True
    

    字符串和列表之间的相互转化

    字符串转列表

    a='1,2,3,4,5'
    b=a.split(',')
    
    print(a)
    # 输出 ['1', '2', '3', '4', '5']
    
    a='A|B|C|D|E'
    b=a.split('|')
    
    print(b)
    # 输出 ['A','B','C','D','E']
    

    list转字符串

    a=['1', '2', '3', '4', '5']
    b=a.join(',')
    
    print(b)
    #  输出 '1,2,3,4,5'
    
    a=['A','B','C','D','E']
    b=a.join('|')
    
    print(b)
    #  输出 'A|B|C|D|E'
    

    通过上面的这些操作我们可以看出python中的列表很灵活也很强大,官方也为列表提供了很多内置方法,大家也不需要死记硬背,先大致有个了解,用到的时候查查手册,多敲敲代码自然就记住了

    总结:本篇文章主要分享了python中列表的创建方法以及列表的一些基本操作,重点需要掌握列表的基本特性和一些内置方法

    相关文章

      网友评论

        本文标题:Python的基本数据类型——List

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