python语法学习笔记3(与C++的一些不同)
序列
序列是一种数据存储方式,类似于数组,但拥有更丰富的功能。
常见的序列:字符串、列表、元组、字典、集合。
定义a=[10,20,30,40],实际上是存了各数值的地址。
列表:
列表的方法
字符串和列表都是序列,许多方法是共通的。
创建列表:
1.a=[]
2.a=list()
a=list(range(10))
3.range()创建证书列表
range([start,]end[,step])
4.推导式生成
^为异或,不是平方
列表元素添加和删除
a.append ()效率较高
+效率较低:
extend()
将目标列表所有元素添加到本列表的尾部,原地操作,效率较高。
注意和append的区别:
insert()插入元素,很影响处理速度,类似的又remove、pop、del,会使其他元素移动。
第一个参数为位置,第二个参数为元素。
乘法扩展
del a(索引位置)
本质为数组元素拷贝
pop()方法
删除并返回指定位置元素,默认最后一位
remove()
删除首次出现的指定元素
列表元素访问和计数
1.通过索引直接访问元素
2.index()获得指定元素在列表中首次出现的索引
a.index(value,start,end)
3.a.count(value)
4.len(a)
5.成员资格判断
列表切片
a[start🔚step]
[:]提取整个列表
[start:]开始到结尾
[:end]
[start:end]
for obj in listObj:
print(obj)
列表排序
a.sort()升序排列
a.sort(reverse=True)降序排列
import random
random.shuffle(a) 打乱排序
sorted(a)不改变原列表a
reversed()不修改原列表,返回迭代器对象,只能用一次
max()
min()
sum()
多维列表
元组:
元组属于不可变序列,没有列表那些修改元素相关方法。
元组支持:
a=(10,20,30) 或 a=10,20,30
单个元素,需要加入逗号,否则视为元素。
b=tuple()#将括号里面参数拆开生成元组,与列表类似
b=tuple(“abc”)
del b
元素访问:
只能使用sorted(tupleobj)方法,并生成新的列表
zip方法:
将多个列表对应位置的元素组合生成为元组
生成器推导式创建元组:
用小括号时,s为生成器,只能访问一次生成器,第二次为空
移动指针
因为元组、整数和字符串不可变。