python列表

发布时间:2017-11-06 18:09:20编辑:Run阅读(6387)

    创建一个字符列表,执行命令

    L1 = ['a','b','c','d','e','f']
    print(L1[0])
    print(L1[2])
    print(L1[5])

    打印结果为a,c,f

    如果访问超出范围,python则会抛出一个异常IndexError

    blob.png

    插入,追加,删除列表数据也很简单,执行命令

    # coding: utf-8
    __author__ = 'www.py3study.com'
    L1 = ['a','b','c','d','e','f']
    L1.insert(0,0)
    print(L1)
    L1.insert(-1,100)
    print(L1)
    L1.append('python')
    print(L1)
    L1.pop(3)
    print(L1)
    L1.pop()
    print(L1)

    执行结果如下:


    "C:Program Files (x86)python3.6python.exe" D:/python3_study/list1.py

    [0, 'a', 'b', 'c', 'd', 'e', 'f']

    [0, 'a', 'b', 'c', 'd', 'e', 100, 'f']

    [0, 'a', 'b', 'c', 'd', 'e', 100, 'f', 'python']

    [0, 'a', 'b', 'd', 'e', 100, 'f', 'python']

    [0, 'a', 'b', 'd', 'e', 100, 'f']

    对列表最常用的操作是列表分片,分片可以简单的理解为将一个列表分成几块,它的操作方法是list[index1:index2[:step]],先创建一个较长的数字列表做这个分片示例,执行命令

    L2 = []
    for i in range(0,101):
        L2.append(i)
    print(L2)

    创建0-100,共101个数字的列表,如下图blob.png

    列表切片其实和访问列表元素很相似,例如,要访问列表L2的第10个元素,那么就应该是L2[10]就可以了,如果要访问列表L2的第10到20个元素呢?很简单,L2[10:21]就可以了,至于list[index1:index2[:step]]中step是步长,实验一下就知道了,执行命令

    L2[0:21]
    L2[21:41]
    L2[81:100]
    L2[0:21:1]
    L2[0:21:3]
    L2[0:21:4]
    L2[0:21:5]

    效果如下

    blob.png写个简单程序showlist.py验证一下

    # coding: utf-8
    __author__ = 'www.py3study.com'
    class showlist(object):
        def __init__(self):
            self.L1 = []
            self.L2 = []
            self.createlist()   #创建列表
            self.insertdata()   #插入数据
            self.appenddata()   #追加数据
            self.deletedata()   #删除数据
            self.sublist()      #列表分片
    
        def createlist(self):
            print('创建列表:')
            print('L1 = list("abcdefg")')
            self.L1 = list('abcdefg')
            print('L2 = []')
            print('for i in range(0,10):')
            print('tL2.append(i)')
            for i in range(0,10):
                self.L2.append(i)
            print('L1 = ')
            print(self.L1)
            print('L2 = ')
            print(self.L2)
            print('\n')
    
        def insertdata(self):
            print(u"插入数据")
            print(u"L1列表中第3个位置插入数字100,执行命令:L1.appned(3,100)")
            self.L1.insert(3,100)
            print('L1 =')
            print(self.L1)
            print(u"L2列表中第10个位置插入字符串'python',执行命令L2.insert(10,'python')")
            self.L2.insert(10,'python')
            print('L2 =')
            print(self.L2)
            print('\n')
    
        def appenddata(self):
            print(u'追加数据')
            print(u"L1列表尾追加一个列表[1,2,3],执行命令L1.append([1,2,3])")
            self.L1.append([1,2,3])
            print('L1 =')
            print(self.L1)
            print(u"L2列表尾追加一个元组('a','b','c'),执行命令L2.append(('a','b','c'))")
            self.L2.append(('a','b','c'))
            print('L2 =')
            print(self.L2)
            print('\n')
    
        def deletedata(self):
            print(u'删除数据')
            print(u"删除L1的最后一个元素,执行命令L1.pop()")
            self.L1.pop()
            print('L1 = ')
            print(self.L1)
            print(u"删除L1的第一个元素,执行命令L1.pop(0)")
            self.L1.pop(0)
            print('L1 =')
            print(self.L1)
            print(u"删除L2的第四个元素,执行命令L2.pop(3)")
            self.L2.pop(3)
            print('L2 =')
            print(self.L2)
            print('\n')
    
        def sublist(self):
            print(u"列表分片")
            print(u"取列表L1的第三到最后一个元素组成的新列表,执行命令L1[2:]")
            print('L1 '+ '=',self.L1)
            print(self.L1[2:])
            print(u"取列表L2的第二个到倒数第二个元素组成的新列表,执行命令L2[1:-2]")
            print('L2 '+ '=',self.L2)
            print(self.L2[1:-2])
            print('\n')
    
    if __name__ == '__main__':
        sl = showlist()

    运行结果如下:

    "C:Program Files (x86)python3.6python.exe" D:/python3_study/showlist.py

    创建列表:

    L1 = list("abcdefg")

    L2 = []

    for i in range(0,10):

    L2.append(i)

    L1 = 

    ['a', 'b', 'c', 'd', 'e', 'f', 'g']

    L2 = 

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]



    插入数据

    L1列表中第3个位置插入数字100,执行命令:L1.appned(3,100)

    L1 =

    ['a', 'b', 'c', 100, 'd', 'e', 'f', 'g']

    L2列表中第10个位置插入字符串'python',执行命令L2.insert(10,'python')

    L2 =

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'python']



    追加数据

    L1列表尾追加一个列表[1,2,3],执行命令L1.append([1,2,3])

    L1 =

    ['a', 'b', 'c', 100, 'd', 'e', 'f', 'g', [1, 2, 3]]

    L2列表尾追加一个元组('a','b','c'),执行命令L2.append(('a','b','c'))

    L2 =

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'python', ('a', 'b', 'c')]



    删除数据

    删除L1的最后一个元素,执行命令L1.pop()

    L1 = 

    ['a', 'b', 'c', 100, 'd', 'e', 'f', 'g']

    删除L1的第一个元素,执行命令L1.pop(0)

    L1 =

    ['b', 'c', 100, 'd', 'e', 'f', 'g']

    删除L2的第四个元素,执行命令L2.pop(3)

    L2 =

    [0, 1, 2, 4, 5, 6, 7, 8, 9, 'python', ('a', 'b', 'c')]



    列表分片

    取列表L1的第三到最后一个元素组成的新列表,执行命令L1[2:]

    L1 = ['b', 'c', 100, 'd', 'e', 'f', 'g']

    [100, 'd', 'e', 'f', 'g']

    取列表L2的第二个到倒数第二个元素组成的新列表,执行命令L2[1:-2]

    L2 = [0, 1, 2, 4, 5, 6, 7, 8, 9, 'python', ('a', 'b', 'c')]

    [1, 2, 4, 5, 6, 7, 8, 9]


    列表还有很多其它的函数和操作方法,有兴趣可参考官方文档和Google,列表和元组非常相似,掌握了列表就基本掌握了元组,列表是python编程中必不可少的一部分


关键字

上一篇: python字符串

下一篇: python元组