1.序列的数据结构
1.1列表
1.1.1访问列表中的值
list1 = [1,2,3,4,5,6,7,8,9]
list2 = ['中国’, '美国', 1997, 2000]
我们可以知道 list1[0]=1,list[1:5]=[2,3,4,5]其中[1:5]代表了取值的范围,list[1:5:2]=[2, 4]其中的2代表步长,当步长位负值的时候表示反向切片(例如索引号-2,就代表正索引号5),如list2[::-1]=[9,8,7,6,5,4,3,2,1](实现了倒序输出)。
1.1.2更新列表
如上述列表,我们可以把list[2]改为2001,那么就是list2[2] = 2001;
1.1.3删除列表
方法一:
使用del语句删除列表中的元素,如上述列表,如果使用del list1[2]那么就会将list[2]位置上的数删除。
方法二:
使用remove()方法删除列表中的元素,如:list1.remove('美国')
方法三:
使用pop()方法删除列表中指定位置的元素,无参数时删除最后一个元素。如:list2.pop(2),删除位置2的元素1997.
1.1.4添加列表元素
使用append()方法在列表末尾添加元素。(注意:只作为一个元素添加)
如:list1.append(['ok',123]),其中['ok',123]只能作为一个元素,不可以作为一个列表中的两个元素被添加。所以list1经添加之后为:[~,~,....,['ok',123]]。
1.1.5列表排序
1.可以使用内置的list1.sort()方法,对原列表进行排序。
2.也可以用sorted(),从原列表构建一个新的排序列表。如:list2 = sorted([5,2,3,1,4])
上面两种方法的共同点是都从小到大排列。
如果想要从大到小排列,那么list1.sort(reverse=True)
如果你的多位列表中有多个元素,你想要将x[0]位置的数进行排序,那么 list1.sort(key=lambda x :x[0]),或者你可以定义一个函数 mykey,如:list1.sort(key=mykey)
1.1.6多维列表
#用列表生成式生成二位列表
ma = [ [0 for i in range(2)] for j in range(3)] #定义 for i in range(3): #然后可以对此列表进行一些需要的操作 for j in range(2): ma[i][j] = i*3 +j print (ma[i][j],end = ",") print('\n')
我们可以看一个式子:
li = [ i*2 for i in range(1,11) ] print(li)
其中的i*2代表了要输出的i需要进行的操作,所以此式中要输出的为i*2
1.1.7列表操作符
1.[1,2,3] + [4,5],+代表组合,实行之后为[1,2,3,4,5]
2.[2]*4,*为重复符,实行之后为[2,2,2,2]
3.2 in [1,2,3] ,in 为判断元素是否在列表中,如果在输出True
1.1.8基本内置函数
1.append(),添加元素
2.count(),统计元素出现次数
3.extend(),一次性追加另一个序列中的多个值
4.index(),找出某个值第一个匹配项的索引位置
5.insert(),将对象插入列表
6.remove(),移除列表中某个值的第一个匹配项
7.reverse(),反转列表中元素顺序