本文目录
一、列表(list)
1.基本形式
list是一种有序的集合,可以随时添加和删除其中的元素
创建一个列表,只要把逗号分隔的不同的数据项(数学或字符串或其他形式的数据项皆可)使用方括号括起来即可
list1=[1,2,3,4,5]
list2=['Mike','Jack','Mary','Laura']
list3=[list1,list2]
print(list3)
#[[1, 2, 3, 4, 5], ['Mike', 'Jack', 'Mary', 'Laura']]
2.长度和索引
- 用len()获取列表的长度
注意索引是从0开始的,所以列表中的最后一个元素的索引是len(list)-1 - 支持负索引
list1=[1,2,3,4,5]
lens=len(list1)
print(list1[lens-1])
#5
print(list1[-1])
#5
3.增删元素
- 可用append()方法来添加元素到列表末尾
- 或用insert()方法把元素插入到指定的位置
list1=[1,2,3,4,5]
list1.append(99)
print(list1)
#[1, 2, 3, 4, 5, 99]
list1.insert(3,66)
print(list1)
#[1, 2, 3, 66, 4, 5, 99]
- 可用pop()方法删除list末尾的元素(实际上是出栈操作)
- 用pop(i)方法删除list中索引为i的元素
- 也可用del list[i]删除list中索引为i的元素
list1=[1,2,3,4,5]
num=list1.pop()
print(list1,num)
#[1, 2, 3, 4] 5
num=list1.pop(0)
print(list1,num)
#[2, 3, 4] 1
del list1[2]
print(list1)
#[2, 3]
- 若知道要删除的元素的值,也可直接用remove()删除
注意,这样只会把第一个满足的元素删除,对后面重复的元素无影响
list3=[1,1,2,2,3,3]
list3.remove(2)
print(list3)
#[1, 1, 2, 3, 3]
4.获取对应元素的索引
- 用index()方法获取对应元素的索引
只会返回第一个满足的元素的索引
list3=[1,1,2,2,3,3]
print(list3.index(2))
#2
5.截取与拼接
- list[i:]表示截取list中从索引为i开始的元素
- list[:j]表示截取list中从头开始到到索引为j-1的元素
(不包含list[j])
list3=[1,1,2,2,3,3]
print(list3[2:])
#[2, 2, 3, 3]
print(list3[:3])
#[1, 1, 2]
print(list3[2:3])
#[2]
- 利用+或*可实现list的拼接
list4=[1,2,3]
list5=[4,5,6]
print(list4+list5)
#[1, 2, 3, 4, 5, 6]
print(list4*2)
#[1, 2, 3, 1, 2, 3]
6.其他函数和方法
函数名 | 具体用法 | 例子(mylist=[2,5,8,1]) |
---|---|---|
max() | 返回列表元素最大值 | max(mylist) 返回8 |
min() | 返回列表元素最小值 | min(mylist) 返回1 |
方法名 | 具体用法 | 例子(mylist=[2,5,8,1,2]) |
---|---|---|
count() | 统计某个元素在列表中出现的次数 | mylist.count(2) 返回2 |
extend() | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) | mylist.extend([1,2]) mylist=[2,5,8,1,2,1,2] |
reverse() | 反向列表中元素 | list.reverse() mylist=[2,1,8,5,2] |
sort() | 对原列表进行排序 | mylist.sort() mylist=[1,2,2,5,8] |
clear() | 清空列表 | mylist.clear() mylist=[] |
二、元组 (tuple)
1.基本形式
元组也是一组有序集合
元组与列表十分相似,但也有很明显的区别:
- 元组是静态的,一旦初始化就不能修改
- 元组使用小括号,列表使用方括号
- 元组初始化时已经分配大小,而列表需要指针来指向对应的元素(内存利用效率会变低)
p.s 元组中只包含一个元素时,也需要在元素后面添加逗号,否则括号会被当作运算符使用
tuple1=(1,2,3)
print(tuple1)
#(1, 2, 3)
tuple2=(1)
print(tuple2)
#1 不是元组
tuple2=(1,)
print(tuple2)
#(1,)
2.元组的删改
元组中的元素不允许进行修改,但可对整个元组进行操作
- 利用+或*可实现list的拼接
tuple1=(1,2,3)
tuple2=(1,)
print(tuple1+tuple2)
#(1, 2, 3, 1)
print(tuple2*3)
#(1, 1, 1)
- 利用del tuple 直接删除整个元组
3.其他操作
只要不涉及对元组中元素的顺序或值进行改变,其他list可用的函数和方法都可使用
三、列表和元组的互相转换
- 列表通过tuple(list)转化为元组
- 元组通过list(tuple)转化为列表
附:Python基础系列
Day1:变量、运算符与数据类型
Day2:条件与循环
Day3&4:列表与元组——>本文
Day5:字符串与序列
Day6&7:函数与Lambda表达式
Day8:字典与集合
Day9&10:文件与文件系统
Day11:异常处理
Day12:else 与 with 语句
Day13&14:类与对象
Day15&16:魔法方法
Day17:模块