Python小白学习记录(2)
一、集合类型及操作
1.集合类型定义
集合是多个元素的无序组合,由不可变数据类型组成(如整数、复数、浮点数、字符串、元组等等),集合中每个元素都是唯一且无序的,不能与其他元素重复
建立集合用**{}或set()**函数
- 建立空集合必须用set()函数,空的{}默认生成字典(见后面)
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/S<=T/S<T:判断子集或包含关系
3.集合处理方法
(1)S.add(x):将x增加到S
(2)S.discard(x):移除S中元素x,若x不在S中,不报错
(3)S.remove(x):移除S中元素x,若x不在S中,产生KeyError异常
(4)S.clear(x):移除S中所有元素
(5)S.pop(x):随机返回S中一个元素并更新S,若S为空产生KeyError异常
(6)S.copy(x):返回S的一个副本
(7)len(S):返回S中元素个数
(8)x in S:判断x是否在S中,在则返回True,不在返回False
(9)x not in S:同上相反
(10)set(x):将其他类型x转变为集合类型
二、序列类型及操作
1.序列类型定义
序列是具有先后关系的一组元素,元素有标号,元素间可相同,元素类型可不同。
序列是一个基类类型,可衍生为:字符串类型、元组类型、列表类型
2.序列类型通用操作符
(1)x in s:判断x是否在s中,在则返回True,不在返回False
(2)x not in s:同上相反
(3)s+t:连接两个序列
(4)s*n:序列s复制n次
(5)s[i]:索引,返回s中第i个元素
(6)s[i:j:k]:切片,返回序列中i到j以k为步长的元素子序列
3.序列类型通用函数和方法
(1)len(s):返回序列s长度
(2)min(s):返回序列s的最小元素,s中元素需要可比较
(3)min(s):返回序列s的最大元素,s中元素需要可比较
(4)s.index(x,i,j):返回序列s从i开始到j位置中第一次出现x的位置
(5)s.count(x):返回出现x的总次数
4.元组类型及操作
元组一旦创建无法修改,使用**()或tuple()**创建,元素间用,分隔
举例
>>> creature="cat","dog","human"
>>> creature
('cat', 'dog', 'human')
>>> color=(0x001100,"blue",creature)
>>> color
(4352, 'blue', ('cat', 'dog', 'human'))
>>> color[-1][-2]
'dog'
5.列表类型及操作
列表创建后可以随意修改,使用**[ ]或list()**创建,元素间用,分隔,无长度限制
- 如果不使用[ ]或list()创建,而是仅仅使用了赋值,则并没有新建列表,而是相当于给予了之前列表另外一个新的名字
- 列表类型操作函数和方法
- ls[i]=x:x替换列表ls第i元素
- ls[i:j:k]=lt:lt替换ls切片后对应元素子列表
- del ls[i]:删除列表ls中第i元素
- del ls[i:j:k]:删除列表ls中第i到以k为步长的元素
- ls*=n:更新列表ls,其元素重复n次
举例
>>> ls=["cat","dog","tiger",1024]
>>> ls[1:2]=[1,2,3,4]
>>> ls
['cat', 1, 2, 3, 4, 'tiger', 1024]
>>> del ls[::3]
>>> ls
[1, 2, 4, 'tiger']
>>> ls*2
[1, 2, 4, 'tiger', 1, 2, 4, 'tiger']
- 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元素反转
举例
>>> ls=["cat","dog","tiger",1024]
>>> ls.append(1234)
>>> ls
['cat', 'dog', 'tiger', 1024, 1234]
>>> ls.insert(3,"human")
>>> ls
['cat', 'dog', 'tiger', 'human', 1024, 1234]
>>> ls.reverse()
>>> ls
[1234, 1024, 'human', 'tiger', 'dog', 'cat']
三、字典类型及操作
1.字典类型定义
(1)映射:键(索引)与值(数据)的对应关系,即表达了一种属性或特点与数据之间的对应关系
(2)字典:字典类型是“映射”的体现,是键值对的集合,键值对之间无序
(3)采用大括号**{ }和dict()**创建,键值对用:表示,例如:{<键1>:<值1>,<键2>:<值2>,…}
(4)用法:<值>=<字典变量>[<键>] 或 <字典变量>[<键>]=<值>,[ ]用来向字典变量中索引或增加元素
举例
>>> d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
>>> d
{'中国': '北京', '美国': '华盛顿', '法国': '巴黎'}
>>> d["中国"]
'北京'
>>> de={};type(de)
<class 'dict'>
2.字典处理函数及方法
- del d[k]:删除字典d中键k对应的数据
- k in d:判断键k是否在字典d中,在则返回True,不在返回False
- d.keys():返回字典d中所有的键信息
- d.values():返回字典d中所有的值信息
- d.items():返回字典d中所有的键值对信息
举例
>>> d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
>>> "中国" in d
True
>>> d.keys()
dict_keys(['中国', '美国', '法国'])
>>> d.values ()
dict_values(['北京', '华盛顿', '巴黎'])
- d.get(k,):键k存在,则返回相应值,不在则返回值
- d.pop(k,):键k存在,则取出回相应值,不在则返回值
- d.popitem():随机从字典中取出一个键值对,以元组形式返回
- d.clear():删除所有的键值对
- len(d):返回字典d中元素的个数
举例
>>> d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
>>> d.get("中国","伊斯兰堡")
'北京'
>>> d.get("巴基斯坦","伊斯兰堡")
'伊斯兰堡'
>>> d.popitem()
('法国', '巴黎')