目录
一、序列是什么?
二、列表
1.含义
2.常用方法
3.创建
三、二维列表
一、序列是什么?
序列是一种数据存储方式,用来存储一系列的数据,在内存中,序列就是一块用来存放多个值的连续的内存空间,Python中常用的序列结构有:字符串、列表、元组、字典、集合
例如:a=[10,20,30,40]
可以看出的是序列中存储的整数对象的地址,而不是整数对象的值
二、列表
2.1列表是内置可变序列,包含多个元素的有序连续的内存空间,定义的标准语法格式:
a=[10,20,30,40] 其中10,20,30,40称为列表a的元素
2.2列表中的元素可以各不相同,可以是任意类型
例如:a=[10,20,'abc',True]
2.3列表的常用方法
| 方法 | 描述 |
| list.append(x) | 将元素x增加到列表list尾部 |
| list.extend(aList) | 将列表aList所有元素加到列表list尾部 |
| list.insert(index,x) | 在列表list指定位置index处插入元素x |
| list.remove(x) | 在列表list中删除首次出现的指定元素x |
| list.pop([index]) | 删除并返回list指定为止index处的元素,默认是最后一个元素 |
| list.clear() | 删除列表所有元素,并不是删除列表对象 |
| list.index(x) | 返回第一个x的索引位置,若不存在x元素抛出异常 |
| list.count(x) | 返回指定元素x在列表list中出现次数 |
| len(list) | 返回列表中包含元素的个数 |
| list.reverse() | 所有元素原地翻转 |
| list.sort() | 所有元素原地排序 |
| list.copy() | 返回对象列表的浅拷贝 |
a=[10,20,30] a.append(100) print(a) a.extend([200]) print(a) a.insert(3,40) print(a) del a[0] #删除指定位置元素 print(a) a.pop(0) #删除并返回指定位置元素 print(a) a.remove(30) #直接删除第一次出现的指定元素 print(a) print(a.index(40)) #获得指定元素的位置 print(a.count(100)) b=[20,70,90,30,80,50] b.sort() #默认是顺序排列 print(b) b.sort(reverse=True) #降序排列 print(b) import random random.shuffle(b) #乱序排列 print(b)
运行结果:
[10, 20, 30, 100] [10, 20, 30, 100, 200] [10, 20, 30, 40, 100, 200] [20, 30, 40, 100, 200] [30, 40, 100, 200] [40, 100, 200] 0 1 [20, 30, 50, 70, 80, 90] [90, 80, 70, 50, 30, 20] [20, 30, 50, 80, 90, 70]
2.4列表对象的大小可变,根据需要随时增加或缩小
2.5列表对象的创建
1>基本语法创建:
>>>a=[10,20,'abc']
>>>b=[] #创建一个空的列表对象
2>list()创建:
>>>a=list() #创建一个空的列表对象
>>>b=list(range(10))
>>>b
[0,1,2,3,4,5,6,7,8,9]
>>>a=list("xiaoming")
>>>a
['x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
3>range()创建整数列表:语法格式为range([start],end,[step])
start:可选,表示起始数字,默认为0
end:必选,表示结尾数字
step:可选,表示步长,默认为1
注意:range()返回的是一个range对象,而不是列表,需要通过list()方法将其转换成列表对象
a=list(range(10)) b=list(range(3,20,2)) c=list(range(20,3,-1)) d=list(range(-10,-22,-1)) print(a) print(b) print(c) print(d)
运行结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [3, 5, 7, 9, 11, 13, 15, 17, 19] [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4] [-10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21]
4> 推导式生成列表
>>>a=[x*2 for x in range(5)] #循环创建元素的2倍
>>>a
[0,2,4,6,8]
三、二维列表>>>a=[x*2 for x in range(100) if x%9==0] #通过if条件过滤元素
>>>a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
3.1二维列表:
a=[
["小明",18,"北京"],
["小红",19,"天津"],
["小芳",20,"西安"]
]
>>>a[0]
['小明',18,'北京']
>>>a[0][2]
北京



