目录
一 集合
1.集合创建
1.集合中元素无序,每个元素唯一,不存在相同元素。
2.集合用大括号{}表示,元素间用逗号分隔。
3.建立集合类型用 {} 或 set() ,而建立空集合类型,必须使用 set() 。(因为使用变量名 = {}这种形式生成的是字典)
示例:
A = {"python",1111,("python",1111)}
B = set("python python")
C = {"python","python",111,111}
print(A)
print(B)
print(C)
2.集合操作符
1. S | T :返回一个新集合,包括在集合S和T中的所有元素
2. S - T :返回一个新集合,包括在集合S但不在T中的元素
3. S & T:返回一个新集合,包括同时在集合S和T中的元素
4. S ^ T:返回一个新集合,包括集合S和T中的非相同元素
5. S<=T 或 S<T : 返回True/False,判断S和T的子集关系
6. S>=T 或 S>T : 返回True/False,判断S和T的包含关系
3.集合操作
1. S.add(x) :如果x不在集合S中,将x增加到S
2. S.discard(x):移除S中元素x,如果x不在集合S中,不报错
3. S.remove(x):移除S中元素x,如果x不在集合S中,产生KeyError异常
4. S.copy():返回集合S的一个副本
5. len(S):返回集合S的元素个数
6. x in s:判断S中元素x,x在集合S中,返回True,否则返回False
7. x not in s:判断S中元素x,x不在集合S中,返回True,否则返回False
8. S.clear() :移除S中所有元素
9. S.pop() :随机返回S的一个元素,更新S,若S为空则产生KeyError异常
10. set(x) :将其他类型变量x转变为集合类型
示例:
A = {'p','py',"python",1234}
for i in A:
print(i)
try:
while True:
print(A.pop(),end = " ")
except:
pass
print(A)
4.集合作用
1.包含关系比较
2.数据去重
示例:
#数据去重
ls = ["py","p","p",123]
s= set(ls) #集合类型
print("s:",s)
ls = list(s) #将集合转换为列表
print("ls:",ls)
二 序列
序列包括字符串,列表,元组。
序列有关操作:
x in s :如果x是序列s的元素,返回True,否则返回False
x not in s :如果x是序列s的元素,返回False,否则返回True
s + t :连接两个序列s和t
s*n或n*s :将序列s复制n次
s[i] :索引,返回s中的第i个元素,i是序列的序号
s[i:j]或s[i: j: k] :切片,返回序列s中第i到j以k为步长的元素子序列
len(s) :返回序列s的长度
min(s) :返回序列s的最小元素,s中元素需要可比较
max(s) :返回序列s的最大元素,s中元素需要可比较
s.index(x)或s.index(x, i, j) :返回序列s从i开始到j位置中第一次出现元素x的位置
s.count(x) :返回序列s中出现x的总次数
1.元组
1.元组是一种序列类型,一旦创建就不能被修改。
2.使用小括号()或tuple()创建,元素间用逗号,分隔
3.小括号可以不适用
示例:
yuanzu = "a","b","c"
yuanzu2 = (111,'aaaa',yuanzu)
yuanzu3 = yuanzu[::-1]
yuanzu4 = yuanzu2[::-1]
print(yuanzu)
print(yuanzu2)
print(yuanzu2[-1][2])
print(yuanzu3)
print(yuanzu4)
2.列表
定义列表时只有当使用了"[ ]"或者list()时,才会真正创建一个列表,如果只是简单地赋值,如list1=list2那么只是赋给了一个新的名字,相当于重新命名。
1.列表是一种序列类型,创建后可以随意被修改
2.使用方括号[ ]或list() 创建,元素间用逗号分隔
3.列表中各元素类型可以不同,无长度限制
1.操作
ls[i]= x :替换列表ls第i元素为x
ls[i: j:k] = lt :用列表lt替换ls切片后所对应元素子列表
del ls[i] :删除列表ls中第i元素
del ls[i:j: k] :删除列表ls中第i到第j以k为步长的元素
ls += It :更新列表ls,将列表lt元素增加到列表ls中
ls *= n :更新列表ls,其元素重复n次
2.函数
ls.append(x) :在列表ls最后增加一个元素x
ls.clear() :删除列表ls中所有元素
ls.copy() :生成一个新列表,赋值ls中所有元素
ls.insert(i,x) :在列表ls的第i位置增加元素x
ls.pop(i) :将列表ls中第i位置元素取出并删除该元素
ls.remove(x) :将列表ls中出现的第一个元素x删除
ls.reverse() :将列表ls中的元素反转
sorted(ls) : 排序
示例:
ls = [1,2,3,"abc"]
ls[1:2] = [5,6,7]
print(ls)
del ls[::3]
print(ls)
print(ls*2)
列表具体操作示例
1. 判断lt中是否包含数字0 >>> 0 in lt
2. 向lt新增数字0 >>> lt.append(0)
3. 返回数字0所在lt中的索引 >>>lt.index(0)
4.lt的长度 >>> len(lt)
5. lt中最大元素 >>> max(lt)
6. 清空lt >>> lt.clear()
7. 定义空列表lt >>> lt = []
8. 向lt新增5个元素 >>> lt += [1,2,3,4,5]
9. 修改lt中第2个元素 >>>lt[2] = 6
10. 向lt中第2个位置增加一个元素 >>> lt.insert(2,7)
11. 从lt中第1个位置删除一个元素 >>> del lt[1]
12. 删除lt中第1-3位置元素 >>> del lt[1:4]
三 字典
1.字典类型是”映射“的体现
2.字典是键值对的集合,键值对之间无序
3.采用大括号{}和dict创建,键值对用冒号:表示
示例:
d = {"China":"Beijing","America":"Huashengdun"}
print(d)
print(d["China"])
#创建空字典
de = {};print(type(de)) #type(x)返回变量x的类型
1.函数操作
del d[k] :删除字典d中键k对应的数据值
k in d :判断键k是否在字典d中,如果在返回True,否则False
d.keys() :返回字典d中所有的键信息
d.values() : 返回字典d中所有的值信息
d.items() :返回字典d中所有的键值对信息
d.get(k,<default>) :键k存在,则返回相应值,不在则返回<default>值
d.pop(k,<default>) :键k存在,则取出相应值,不在则返回<default>值
d.popitem() :随机从字典d中取出一个键值对,以元组形式返回
d.clear() :删除所有的键值对
len(d) :返回字典d中元素的个数
示例:
定义空字典d >>> d = {}
向d新增2个键值对元素 >>> d["a"] = 1; d["b"] = 2
修改第2个元素 >>> d["b"] = 3
判断字符'c'是否是d的键 >>>"c" in d
计算d的长度 >>>len(d)
清空d >>>d.clear()