二维列表
前套循环打印2维列表
for m in range(3):
for n in range(4):
print(a[m][n],end="\t")
print() #打印完一行换行
二维列表
前套循环打印2维列表
for m in range(3):
for n in range(4):
print(a[m][n],end="\t")
print() #打印完一行换行
列表的逆序
1、可以用切片[ : : -1]
2、reversed()返回迭代器,时间换空间
>>> a = [20,10,30,40]
>>> c = reversed(a)
>>> c
<list_reverseiterator object at 0x0000000002BCCEB8>
#说明c是个迭代器
>>> list(c)
[40, 30, 10, 20]
#把c转换成列表输出倒序
>>> list(c)
[]
#迭代器只能用一次,迭代器里包含一个指针(如:0x0000000002BCCEB8),从列表尾部向前指,用第一次的时候就已经指到最前了
切片slice操作
[起始偏移量 start:终止偏移量 end[:步长 step]]
⚠️ end-1(索引)
⚠️如果只有如:[1:3]、[-5:-3],则包头不包尾
⚠️使用负数,反着数
列表的遍历
for obj in listObj:
print(obj)
列表元素访问和计数
1、索引访问
索引区间[0,列表长度-1],超范围会报异常
2、index() 元素在列表中(首次)出现的索引
index(value,[start,[end]])
>>> a = [10,20,30,40,50,20,30,20,30]
>>> a.index(20)
1
>>> a.index(20,3) #从索引位置 3 开始往后搜索的第一个 20
5
>>> a.index(30,5,7)
6
3、count() 计数
4、len() 长度=元素个数
5、成员资格判断
in
count() 返回0就不在
列表元素的删除
1、del() 本质是数组拷贝
被删元素后面的依次向前拷贝
2、pop() 方法
删除并返回指定位置元素
3、remove() 方法
删除首次出现的指定元素,若不存在报异常
列表的增加与删除
1、append() 尾部加,推荐
2、+运算,拼接,会产生新列表对象,id变
3、extend() 原地扩展,id不变
4、insert() 插入元素之一,涉及数组移动
5、乘法扩展
列表的创建
可存储任何数据,索引下表获取值
range()创建整数列表
range([start,] end [,step])
start参数:可选,起始
end参数:必选,结尾
step参数:可选,步长
循环创建多个元素
a = [ x*2 for x in range(5)]
>>>a
[0,2,4,6,8]
if过滤元素
a = [ x*2 for x in range(100) if x%9==0]
>>>a
[0,18,36,54,72,.......,198]
python的序列
数据存储方法:字符串、列表、元组、字典、集合
存地址、轻量级
列表大小可变
Python基础课
一、可变字符串
字符串定义以后是不可变的,不能原地修改吗,
连续[2:5,1:4]跳跃[[2,1],[3,5]]
分解问题
确认坐标系0点
按照思路敲代码
"报错的文字里总有认识的单词”
搜索“CMD"
输入“python”
类方法,实例方法
类属性,实例属性
类方式和静态方法中不能调用实例变量,实例方法
实例防范从属于实例对象
类在进行实例话时,先调用new()函数创建对象,然后再把地址引用给变量
is适用于比较地址,即判断是否为同一个对象,==是判断值的大小是否相同
类产生对象
浅拷贝与深拷贝
栈帧
函数return作用:
1.返回值
2.结束函数执行