1. 集合类型
类型建立:set()或者{} -----(注意!建立空集合类型,必须使用set() )
>>>print(set("pypython123"))
结果1:{'t', '3', 'y', '2', '1', 'n', 'o', 'p', 'h'}
>>>print({"python",123,("python",123)})
结果2:{"python",123,("python",123)}
>>>print({"python",123,"python",123})
结果3:{'python', 123}
从结果1、3我们可以得出一个结论:集合类型时无序类型,输出结果不是有序结果。集合类型能够消除重复的元素。
集合的处理方法:
-
S.add(x) -----如果x不在集合S中,将x添加到S
-
S.discard(x) -----移除S中元素x,如果x不在S中不报错
-
S.remove(x) -----移除S中元素x,如果x不在S中,产生KeyError异常 小技巧:借助这一异常我们可以使用 (try: except:)结构
-
S.clear(x) -----移除S中所有元素
-
S.pop(x) -----随机返回S的一个元素,更新S,若S为空产生KeyError异常
-
S.copy()-----返回集合S的一个副本
-
len(S)-----返回集合S的元素个数
-
x in S -----判断S的元素x,x在集合S中,返回True,否则False
-
x not in S -----判断S的元素x,x不在集合S中,返回True,否则False
-
set(x) -----将其他类型变量x转换为集合类型
>>> a = ['a','a','b','b','c','c'] # a 为列表,利用集合的去重性 print(set(a)) 结果:{'c', 'b', 'a'}
2. 序列类型
序列类型包括:字符串类型、元组类型、列表类型
- x in s -----如果x是序列s的元素,返回True,否则false
- x not in s -----如果x不是序列s的元素,返回True,否则false
- s + t -----链接两个序列s 和 t
- s[i] -----索引,返回s中的第i个元素
- s[i:j]或s[i:j:k] -----切片,返回序列s中第i到j(不包含j)以k为步长的元素子序列
>>> ls = ["python",123,".io"]
print(ls[::-1})
结果:['.io', 123, 'python']
>>> ls = [""python123.io"]
print(ls[::-1]) # 逆序输出
结果:oi.321nohtyp
- 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 的总次数
元组类型:
元组类型是一种序列类型,一旦创建就不能更改
类型建立小括号()或tuple()
>>> cl = "cat","dog","duck","pig"
print(("green",125,cl))
结果:('green', 125, ('cat', 'dog', 'duck', 'pig'))
a = ("asd",123,cl)
print(a[-1][2])
结果:duck
列表类型:
列表类型是一种序列类型,创建后可以任意更改
类型建立[] 或list(),元素间用逗号分隔
- 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(不包含j)以k为步长的元素
- ls += lt -----更新列表ls,将列表lt元素添加到列表ls中
- ls *= n -----更新列表,其元素重复n次
- ls.append(x) -----在列表ls最后添加一个元素x
- ls.insert(i,x) -----在列表ls的第i位置添加元素x
- ls.reverse() -----将列表ls中的元素反转
3. 字典类型
类似于数学上的映射。
映射一一种键(索引)和值(数据)的对应
类型建立采用大括号{}和dict()创建,简直对用冒号’ : '表示
<字典变量> = {<键1>:<值1>,<键2>:<值2>,<键3>:<值3>...} #通过键获取值
>>> a = {"班长":"李三","学委":"张四","团委":"小红"}
print(a["学委"])
结果:张四
<值> = <字典变量> [<键>]
<字典变量>[<键>] = <值>
>>> a["体育委"] = 小明 #向a中添加一个键值对元素
>>> a["班长"] = 小李 #修改键"班长"的值
- del d[k] -----删除字典d中键k对应的数据值
- k in d -----判断键k是否在字典中,如果在返回True,否则False
- d.keys() -----返回字典中所有的键信息
- d.values()-----返回字典d中所有值的信息
- d.items()-----返回字典中所有的键值对信息
(利用映射我们可以统计数据的出现次数,数据是键,次数是值)