Python内置数据结构:列表,元组,字典,集合。
列表(list)是一组数值的组合,列表元素可以是任何类型(包括列表)。
>>> xx = [‘Toney‘,20,11-6,[1,2]] #包括字符串,整数,列表 >>> xx [‘Toney‘, 20, 5, [1, 2]]
操作列表包括:索引(indexing)、切片(sliceing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员。
List的索引
列表的索引就是列表的排序,列表从左到右元素索引递增,第一个元素的索引是0,列表元素是n个,最后一个元素的索引就是n-1。
>>> ‘Toney‘[2] ‘n‘
列表的负索引从右往左计数,最后一个元素的索引是-1,倒数第二个元素索引是-2
>>> ‘Toney‘[-1] ‘y‘ >>> ‘Toney‘[-2] ‘e‘
还可以这样:
>>> fourth = input(‘year:‘)[3] year:2019 >>> fourth ‘9‘
修改索引为0的元素值:
>>> aa = [‘a‘,‘b‘,‘c‘] >>> aa[0] = 1 >>> aa [1, ‘b‘, ‘c‘]
列表的切片
索引可以访问列表的某一个元素,切片可以访问列表一段范围的元素。如:months[4:9],4是切片的开始索引,9是结束索引,中间用冒号隔开。
>>> months = [ ‘January‘,‘February‘,‘March‘, ‘April‘,‘May‘,‘June‘, ‘August‘,‘September‘,‘October‘, ‘November‘,‘December‘] >>> months[4:9] [‘May‘, ‘June‘, ‘August‘, ‘September‘, ‘October‘] >>> test = ‘1234567890abcdefg‘ >>> test[8:-2] ‘90abcde‘
还可以有另外一种,起止索引可以缺失,冒号左边缺失表示从[0]开始取值,冒号右边缺失表示取后面全部。
>>> months[:] [‘January‘, ‘February‘, ‘March‘, ‘April‘, ‘May‘, ‘June‘, ‘August‘, ‘September‘, ‘October‘, ‘November‘, ‘December‘] >>> months[:3] [‘January‘, ‘February‘, ‘March‘] >>> months[7:] [‘September‘, ‘October‘, ‘November‘, ‘December‘]
列表可以合并在一起:
>>> aa = [‘a‘,‘b‘,‘c‘]+3*[‘d‘]+[‘f‘] >>> aa [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘d‘, ‘d‘, ‘f‘]
判断是否是列表元素
>>> ‘a‘ in [‘a‘,‘b‘] True >>> users = [‘aaa‘,‘bbb‘,‘ccc‘] >>> input(‘你的名字:‘) in users 你的名字:bbb True
遍历列表元素:for x in list:(后面跟的是冒号)
>>> for x in months[3:9]: print(x) April May June August September October
设置步长:
>>> num=[1,2,3,4,5,6,7,8,9] >>> num[0:9:1] #步长为1 [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> num[0:9:2] #步长为2 [1, 3, 5, 7, 9] >>> num[0:9:3] #步长为3 [1, 4, 7]
删除列表
删除整个列表:
>>> num=[1,2,3,4,5,6,7,8,9] >>> del num >>> num Traceback (most recent call last): File "<pyshell#204>", line 1, in <module> num NameError: name ‘num‘ is not defined
删除列表元素:
>>> num=[1,2,3,4,5,6,7,8,9] >>> del num[0] >>> num [2, 3, 4, 5, 6, 7, 8, 9] >>> del num[2:4] >>> num [2, 3, 6, 7, 8, 9]
列表推导式:
>>> even = [2 * i for i in range(10)] >>> even [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
生成even的过程是把0~10之间的数字都乘以2变成偶数。
>>> even2 = [i for i in range(20) if i%2 == 0] >>> even2 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
生成even2的过程是从0-20之前挑选出偶数。
列表的内置函数
len()计算列表的长度(元素个数):
>>> len([1,2,3]) 3 >>> num = [i for i in range(10)] >>> len(num) 10
min()返回列表元素中的最小值。
>>> min([‘b‘,‘c‘,‘d‘]) ‘b‘ >>> min([5,6,7]) 5
max()返回列表元素中的最大值,列表元素必须是同一类型且可比较,比如都是数字型的,或都是字符串。
>>> max([1,2,3]) 3 >>> max([‘b‘,‘c‘,‘d‘]) ‘d‘
sum()计算列表所有元素的和,其元素类型必须是数值型的(整数、浮点数)。
>>> sum([3,4,5.55])
12.55
sorted()返回一个排序的列表,但并不改变原列表。
>>> sorted([5,2,7,1,4,6,3,9,8]) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> sorted([‘d‘,‘a‘,‘f‘,‘b‘,‘c‘]) [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘f‘]
list()生成一个空列表,或把其它类型数据转换成list。
>>> list() [] >>> list(‘hello‘) [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
原文:https://www.cnblogs.com/suancaipaofan/p/11068446.html