组合数据类型

一、集合类型及操作

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()创建,而是仅仅使用了赋值,则并没有新建列表,而是相当于给予了之前列表另外一个新的名字

  • 列表类型操作函数和方法
  1. ls[i]=x:x替换列表ls第i元素
  2. ls[i:j:k]=lt:lt替换ls切片后对应元素子列表
  3. del ls[i]:删除列表ls中第i元素
  4. del ls[i:j:k]:删除列表ls中第i到以k为步长的元素
  5. 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']
  1. ls.append(x):ls最后增加一个元素x
  2. ls.clear():删除列表ls最后所有元素
  3. ls.copy():生成一个新列表,赋值ls中所有元素
  4. ls.insert(i,x):在ls第i个位置增加元素x
  5. ls.pop(i) :将ls第i个位置元素取出并删除
  6. ls.remove(x):将ls中出现的第一个元素x删除
  7. 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.字典处理函数及方法

  1. del d[k]:删除字典d中键k对应的数据
  2. k in d:判断键k是否在字典d中,在则返回True,不在返回False
  3. d.keys():返回字典d中所有的键信息
  4. d.values():返回字典d中所有的值信息
  5. d.items():返回字典d中所有的键值对信息

举例

>>> d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
>>> "中国" in d
True
>>> d.keys()
dict_keys(['中国', '美国', '法国'])
>>> d.values ()
dict_values(['北京', '华盛顿', '巴黎'])
  1. d.get(k,):键k存在,则返回相应值,不在则返回值
  2. d.pop(k,):键k存在,则取出回相应值,不在则返回值
  3. d.popitem():随机从字典中取出一个键值对,以元组形式返回
  4. d.clear():删除所有的键值对
  5. len(d):返回字典d中元素的个数

举例

>>> d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
>>> d.get("中国","伊斯兰堡")
'北京'
>>> d.get("巴基斯坦","伊斯兰堡")
'伊斯兰堡'
>>> d.popitem()
('法国', '巴黎')
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值