一.概述
序列有字符串,列表,元组,字典,集合。
字符串、列表、元组有序,字典、集合无序;
字符串、元组不可变,列表、字典、集合可变;
# 可变和不可变可用id()函数理解
二.序列通用操作
1.索引
N个元素
元素1 | 元素2 | 元素3 | .... | .... | .... | .... | .... | 元素N-1 | 元素N |
0 | 1 | 2 | .... | .... | .... | .... | .... | N-2 | N-1 |
-N | -N+1 | -N+2 | .... | .... | .... | .... | .... | -2 | -1 |
字符串,列表,元组适用
2.切片
序列s切片 s[start:end:step]
default value : start=0,end=len(s), step=1
eg:
逆序操作 s[::-1]实际为s[-1:-len(s)-1:-1]
复制操作 s[::] or s[:]
字符串、列表、元组适用
3.序列相加和数乘
字符串、列表、元组适用
4.常见表达式、内置函数、方法
x为一个元素,s为一个序列
x in s x not in s
len(s)
max(s) min(s) 字符用ASCII比较
s.index(x)
s.count(x)
三.字符串s常用操作
不改变s
s.upper()
s.lower()
s.title()
s1 in s2 s1是s2的子串
四.列表lst常用操作
1.创建
list(序列)
[ ] 列出元素
2.删除
del lst
3.增删改查
lst.append(x)
lst.insert(index,x)
lst.pop(index) 无index则效果类似栈
lst.remove(x)
del lst[index]
4.其他
lst.reserve() 无返回值,改变lst
lst.copy()
5.排序
sort方法改变lst
lst.sort(key=None,reverse=False)
sorted函数不改变lst
sorted(iterable(即lst), key=None,reverse=False)
忽略大小写key=str.lower
降序reserve=True
6.列表生成式
lst=[expression for item in range()]
可以加if condition
7.列表遍历
for item in lst
for i in range(len(lst))
for index,item in enumerate(lst,start=0)
五.元组t常用操作
1.创建
t=tuple(序列)
t=(.. , .. ,)
2.删除
del t
3.遍历与列表相同
4.不可以增,删,改,可以用索引查
5.元组生成式
t=(i for i in range()) --> <class 'generator'>
t.__next__() --> 类似pop
t=tuple(i for i in range()) --><class 'tuple'>
六.字典d常用操作
0.哈希,key不可重复,value可以,key为不可变数据类型
1.创建
1.1 直接列出键值对
d={key1:value1 , key2:value2 , key3:value3 , ... , } 直接列出时一键两值后面的覆盖前面的
d={}为空字典不是空集合
1.2 zip(lst1,lst2) 让两个列表进行一一映射构成字典
lst1=[,,]
lst2=[,,]
zipobj=zip(lst1,lst2) # <class 'zip object'>
d=dict(zipobj)
2.取值
d[key] or d.get(key)
区别
d[key]可修改键key对应的值,d.get(key)不可以。
d.get(key),当key不存在为None,可以通过d.get(key,'no')改变提示为'no'
d[key] 当key不存在d[key]报错
3.获取所有键值对、键、值
d.items() d.keys() d.values()
提供了不同遍历
for elem in d.items()
for key,value in d.items()
for keys in d.keys()
for values in d.values
4.增删改查
d[newkey]=newvalue
d.pop(key,default) 弹出key对应的value没有则返回default
d.popitem() 随机弹出
d.clear()
5.字典生成式
d={key:value for item in range}
d={key:value for key,value in zip(lst1,lst2)}
七.集合s常见操作
0.无序不重复序列,只存不可变数据类型
1.创建
s={,}
s=set()空集合
s=set(序列)
2.删除
del s
3.增删改查
s.add(x) 如果没有x则加入x
s.remove(x) x在s内则删去不在则报错
s.clear() 清除所有元素
4.遍历
for item in s
for item,index in enumerate(s)
5.集合之间的运算
A&B交集 A|B并集 A-B差集 A^B补集