6.组合数据类型

集合set

集合是多个元素的无序组合.

  • 集合用大括号{}表示,元素间利用逗号分隔
  • 建立集合类型用{}或set()
  • 建立空集合类型,必须使用set()

集合操作符

操作符及应用 描述
S|T 返回一个新集合,包括st中的所有元素
S-T 返回一个新集合,包括在集合s中但不在t中的元素
S&T 返回一个新集合包括同时在s和t中的元素
S^T 返回一个新集合,包括S和T中的非相同元素
S<=T或S<T 返回True/False,判断S和T的子集关系
S>=T或S>T 返回True/False,判断S和T的包含关系

集合处理方法

操作函数或方法 描述
S.add 向集合中添加元素
S.discard 移除集合中的一个元素(如果元素不存在,不报错)
S.remove 移除集合中的一个元素(如果元素不存在,会引发 KeyError)
S.clear 移除集合中所有元素
S.pop 随机返回集合S的一个元素,更新S(如果集合为空,会引发 KeyError)
S.copy 返回集合S的一个副本
len(S) 返回集合S的元素个数
x in S 判断集合S中是否有元素x,是返回True否则返回False
x not in S 判断集合S中是否有元素x,是返回False否则返回True
set(x) 将其他类型变量x转变为集合类型

数据去重,典型用法,利用数组内元素不可重复.

序列sequence

  • 序列可以包含一个或多个元素,也可以没有任何元素.
  • 我们之前所说的基本数据类型,都可以作为序列的元素.。
  • 序列有两种:tuple(元组) 和 list (表)

序列操作符

操作符及应用 描述
x in S 如果x是序列S的元素,返回True否则返回False
x not in S 如果x是序列S的元素,返回False否则返回True
s + t 连接两个序列s和t
SN或NS 讲序列s复制n次
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) 返回序列中x出现的总次数

元组是序列类型的一种扩展.
使用小括号()或tuple()创建,元素间用逗号分隔.
可以使用或不使用小括号.
tuple元素不可变,list元素可变.
字符串是一种tuple.
数据保护将数据转换为元组类型.

字符串是一种特殊的元组,因此可以执行元组的相关操作。

str = 'abcdef'
print(str[2:4])
  • 列表是一种序列类型,被创建后可以随意修改
  • 使用方括号[]或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步长为k的元素
ls+=lt 更新列表ls,将列表lt元素增加到列表ls中
ls*=n 更新列表ls,将元素重复n次

列表类型操作类型和方法

函数或方法 描述
ls.append(x) 在列表最后添加元素x
ls.clear() 移除列表中所有元素
ls.copy() 生成一个新列表,赋值ls中所有元素
is.insert(i,x) 在列表ls第i位增加元素x
ls.pop(i) 将列表ls中第i位置元素取出并删除
ls.remove(x) 将列表ls中出现的第一个x元素删除
ls.reverse() 将列表ls中元素反转

字典

映射映射是一种键(索引)和值(数据)的对应.

  • 字典类型是映射的体现.
  • 键值对:键是数据索引的扩展.
  • 字典是键值对的集合,键值对之间无序.
  • 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用(,)分割,整个字典包括在花括号{}中.
    <字典变量> = {<键1>:<值1>,<键2>:<值2>...<键n>:<值n>}
    键必须是唯一的,但值不必.
>>>d = {"中国":"北京","美国":"华盛顿","法国":"巴黎"}
>>>d
{'中国':'北京','美国':'华盛顿','法国':'巴黎'}
>>>d["中国"]
'北京'
>>>de = {} ; type(de)
<class 'dict'>
函数或方法 描述
del d[k] 删除字典d中键k对应的数据值
k in d 判断键k是否在字典d中,如果在返回True,否则False
d.keys() 返回字典中所有的键信息
d.values() 返回字典中所有的值信息
d.items() 返回字典中所有的键值对信息

列表类型操作函数和方法

函数或方法 描述
d.get<k.default> 键k存在,则返回相应值,不在则返回<default>值
d.pop<k.default> 键k存在,则取出相应值,不在则返回<default>值
d.popitem() 随机从字典中取出一个键值对,以元组形式返回
d.clear() 删除所有的键值对
len(d) 返回字典d中元素的个数

对于List:

classmates = ['Michael', 'Bob', 'Tracy']
classmates.append('Adam')    //添加在末尾,没有add()方法
classmates.insert(1, 'Jack') //在指定位置添加
classmates.pop(1)            //在知道位置删除,参数是索引
del classmate[1]             //删除第二个元素
classmates.remove('Bob')     //参数是元素,删除第一个与Bob值匹配的元素,之后又相同元素不会删除

对于dict:

d = {'a': 'A', 'b': 'B'}
del d['a']
d.pop('a')    //参数是key,没有remove()方法
d['c']='C';   //插入直接赋值即可

对于set:

s={1,2,3}       //set对象的创建也可以是s=set(iterable)
s.add(8)        //添加8到末尾   没有append()方法
s.remove(8)     //参数是元素,不是索引    删除8   
s.pop()         //删除最后一个元素

对于tuple:
由于tuple一旦初始化就不能修改,所以不能插入和删除.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 18,912评论 17 410
  • 第六章:数字 第七章:序列,列表,元组 1.序列 序列类型有着相同的访问模式:它的每一个元素可以通过指定一个偏移量...
    m风满楼阅读 873评论 0 2
  • 民宿设计最近是很火一个行业,民宿最精髓就是融入环境。
    金保室内设计阅读 509评论 0 0
  • 冬至到,吃水饺, 我擀皮儿,奶奶包, 头碗水饺给爷爷, ...
    周雅菲阅读 444评论 0 0