序列
1.应用
1.1 索引
1.从0开始,第一个为0,第二个为1,第n个为n-1
2.也可为负数,第n个为-1,第一个为-n
3.通过索引访问序列中任何元素,该元素为 序列名[索引]
1.2 切片
sname[start : end : step]
sname:序列名
start:切片开始位置,包含,默认0
end:截止位置,不包含,默认序列总长
step:步长,默认1
1.3 序列相加
不能将列表和元祖相加,也不能将列表和字符串相加
1.4 序列乘法
将序列元素重复
1.5 检查元素是否为序列成员
value in sequence
返回值为true或false
1.6 相关内置函数
len()函数:返回序列包含元素数
max()与min():返回元素中的最大值与最小值
sum():返回序列元素和
2.列表
2.1 列表创建删除
listname = [element 1,element 2,element 3,...,element n]
listname:列表名,符合Python规则的标识符即可
element:元素,Python支持的数据类型可以
2.1.1 创建空列表:
listname = []
2.1.2 创建数值列表
可以使用list()函数直接将range()函数循环出来的结果转化为列表
例如list(range(10,20,2))
即可创建一个10-20所有偶数的列表
结果为:[10,12,14,16,18]
2.1.3 删除列表
del listname
2.2 遍历列表
2.2.1 直接使用for循环
for item in listname:
#输出item
2.2.2 使用for循环和enumerate()函数实现
for index,item in enumerate(listname)
#输出index和item
index:保存元素索引
item:保存获取的元素值
listname:列表名
2.3 添加修改删除列表元素
2.3.1添加元素:
listname.append(obj)
listname:列表名
obj:添加到列表末尾的对象
我们还可以将一个列表全部元素添加到列表:
listname.extend(seq)
seq:要添加的列表
2.3.2 修改元素与删除元素
修改元素通过索引获取该元素并对其重新复制即可
删除可用del语句
del 列表名[索引]
或者使用remove()方法删除
列表名.remove(元素)
不过当其元素不存在会出现错误信息
2.4 列表的统计和计算
2.4.1 获取指定元素出现次数
listname.count(obj)
返回值:元素在列表中出现次数
2.4.2 元素首次出现位置
listname.index(obj)
返回值:首次出现的索引
2.4.3 计算元素和
sum(iterable[,start])
iterable:要统计的列表
start:从那个数开始(即统计结果加上这个数)
2.5 排序列表
2.5.1 列表对象的sort()方法
listname.sort(key=None,reverse=False)
key=str.lower为则排序不分大小写,该值可省略
reverse:True为降序,False为升序,默认升序
2.5.2 使用内置函数sorted()
sorted(iterable,key=None,reverse=False)
使用sorted()函数不会对原列表进行更改
2.6 列表推导式
2.6.1 生成指定范围数值列表
list = [Expression for var in range]
list:生成列表名
Expression:表达式,用来计算元素
var:迭代变量
range:range对象
2.6.2 生成指定需求列表
newlist = [Expression for var in list]
newlist:生成列表名
Expression:表达式,用来计算元素
var:迭代变量
range:range对象
案例:
price = [1200,2000]
sale = [int(x*0.5) for x in price]
2.6.3 从列表选择元素组成新列表
newlist = [Expression for var in list if condition]
newlist:表示新生成的列表名
Expression:计算新列表元素的表达式
var:变量,值为后面列表的每个元素值
list:用于生成新列表的原列表
condition:筛选的条件表达式
2.7 二维列表
2.7.1 直接定义二维列表
listname = [[元素,元素],[元素,元素]]
2.7.2 使用嵌套的for循环创建
例子:
arr = [] #创建空列表
for i in range(4):
arr.append([]) #在空列表中再添加一个空列表
for j in range(5):
arr[i].append(j) #为第二维空列表添加元素
2.7.3 使用列表推导式创建
例子:
arr = [[j for j in range(5)] for i in range(4)]
2.7.4 访问二维数组
listname[下标1][下标2]
3 元组
3.1 元组的创建删除
3.1.1 赋值运算符直接创建
tuplename = (element 1,element 2,element 3,...,element n)
假如元组只有一个元素,需要在元素后加一个逗号,否则则会定义字符串,例如:
versel = ("123",)
3.1.2 创建空元组
emptytuple = ()
3.1.3 创建数值元组,使用tuple()函数
tuple(data)
data为转换为元组的数据,类型可以是range对象,字符串,元组,或者其他可迭代类型的数据
3.1.4 删除元组
del tuplename
3.3 访问与修改元素
3.3.1 访问元素
访问元组元素同列表
3.3.2 修改元素
元组不能直接修改,只能重新赋值,并且可以在已存在元组结尾添加一个新元组,使用“+”
3.4 元组推导式
推导式和列表类似,只是将[]改为(),不过元组推导式生成的不是元组或者列表,是一个生成器对象,需要使用tuple()函数转化为元组或者使用list()函数转换为列表,例如:
improt random #导入random标准库
randomnumber = (random.randint(10,100) for i in range(10))
randomnumber = tuple(randomnumber) #转换为元组
randomnumber = list(randomnumber) #转换为列表
3.4.1 生成器对象
使用元组推导式获得的生成器对象,在遍历后清空,若要再使用则需要重新生成
例如使用_next_()方法输出元素每个值:
number = (i for i in range(3))
print(number._next_()) #输出第1个元素
print(number._next_()) #输出第2个元素
print(number._next_()) #输出第3个元素
number = teple(number) #转换为元组
print(number)
结果为:
0
1
2
()
或者使用for循环遍历生成器对象并输出,如下
number = (i for i in range(4))
for i in number:
print(i,end=" ")
print(tuple(number))
结果为
0 1 2 3 ()
3.5 元组与列表的区别
1.元组不能直接添加,修改,删除元素
2.元组的访问速度比列表快,所以当只需要访问不进行修改时建议使用元组
3.列表不能作为字典的键,元组可以
4 字典
特征:
通过键来读取,无序,可变,以“键-值对”形式存放,键必须唯一并且不可变
4.1 字典的创建
创建字典时,使用冒号分隔键和值,逗号分隔相邻两个元素,所有元素放在一对“{}”中
4.1.1创建空字典:
dictionary = {}
或者
dictionary = dict()
4.1.2 通过映射函数创建字典
dictionary = dict(zip(list1,list2))
dictionary:字典名
zip()函数:将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。若想获得元组可以使用tuple()函数转换,若想要获得列表则可以使用list()函数转换。
4.1.3 通过给定值对创建字典
dictionary = {'key1':'value1','key2':'value2'}
或者
dictionary =dict(key1=value1,key2=value2)
4.1.4使用dict对象的fromkeys()方法创建值为空的字典:
dictionary = dict.fromkeys(list)
dictionary:新字典名
4.1.5 通过已存在的元组和列表创建字典
例如:
字典名 = {元组名:列表名}
4.1.6 删除字典
删除整个字典:del
del dictionary
删除字典内全部元素:clear()方法
dictionary.clear()
除此之外还有其他的删除方法:
pop()方法:删除并返回指定键的元素
popitem()方法:删除并返回字典中的一个元素
4.2 字典的访问
4.2.1 全内容输出
print(dictionary)
4.2.2 通过键访问
print(dictionary[键])
通过指定键位获取值时,若指定键位不存在,则会提示异常
或者使用get()方法获取指定键的值
dictionary.get(key,[default])
key:指定键
default:当指定键位不存在时的一个默认返回值,省略则会返回None
4.3 遍历字典
dictionary.items()
返回值为可遍历的(键-值对)的元组列表,若想获取到具体键-值对,可通过for循环遍历该元组列表,例如:
dictionary = {键:值,键:值}
for item in dictionary.items():
print(item)
获取具体的每个键和值:
dictionary = {键:值,键:值}
for key,value in dictionary.items():
print(key,value)
4.4 添加,修改,删除字典元素
添加元素
dictionary[key] = value
当键位已存在,即为修改元素
删除字典内元素:
del dictionary[键]
在无该键位是会报异常
4.5 字典推导式
例如生成一个包含五个随机数的字典:
import random
randomdict = {i:random.randint(10,100) for i in range(1,6)}
print(randomdict)
5 集合
特征:元素不重复,作用是去除重复元素
5.1 集合的创建
集合的所有元素放在一对{}中,两个相邻元素中用“,”分隔
5.1.1 直接使用{}创建
setname = {element 1,element 2}
在创建集合的时候若是输入重复元素则会自动保留一个
5.1.2 使用set()函数创建
setname = set(iteration)
setname:集合名称
iteration:转换为集合的可迭代对象,包括列表,元组,range对象等,也可以是字符串,若为字符串则是包含全部不重复元素的集合
5.2 集合的添加
添加
setname.add(element)
setname:要添加元素的集合
element:添加的元素内容,只能使用字符串,数字及布尔类型的True或者False,不能使用列表,元组等可迭代对象
5.2 集合的删除
setname.remove(指定元素) #删除指定元素
setname.pop() #返回并删除第一个元素
setname.clear() #删除所有元素
5.3 集合的交集,并集和差集运算
交集:& 并集:丨 差集:-