发布时间: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
插入,追加,删除列表数据也很简单,执行命令
# 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个数字的列表,如下图
列表切片其实和访问列表元素很相似,例如,要访问列表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]
效果如下
写个简单程序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编程中必不可少的一部分
47745
46237
37110
34627
29229
25886
24745
19863
19417
17909
5716°
6315°
5836°
5888°
6985°
5829°
5846°
6361°
6316°
7673°