python数据类型-集合/字典

集合 set 无序性 唯一性(不重复)可变

创建:

se=set() #注意:创建空的集合要用set(),se={} 创建的字典
se = set('abc') =》{'a', 'b', 'c'} #参数是需要可迭代对象
se = set([1,2]) =》{1, 2} # 可以理解列表为转换为集合set
se =set((1,2)) =>{1, 2}
se ={1,2,2,3} ==>>{1, 2, 3} #注意唯一性
se = {1,[2,3]} #error 不能是可变类型,违背唯一性,可以是字符串或者元组
se = set([1,[2,3]]) #error
se = set([1,'abc']) => {1, 'abc'}
se = set([1,(2,3)]) =>{1, (2, 3)}

集合的运算

se1 = {1,2,3,4}
se2 = {3,4,5,6}

并集

se1 | se2 => {1, 2, 3, 4, 5, 6} #去重,将2个集合合并


image.png

交集

se1 & se2 => {3, 4} #取2个集合重复的部分


image.png

差集

se1 - se2 => {1, 2} #前一个集合去除2集合中重复的部分
se2 - se1 => {5, 6}


image.png

与非集

se1^se2 => {1, 2, 5, 6} #取2集合各自独有部分合在一起


image.png

集合set的常用方法

se1.add('abc') =>{1, (2, 3), 'abc'} #不可变,字符串,元组都可以作为参数
se1.add([1,2]) #error ,不能是可变的

se.clear() #清除集合数据

se.update() #添加多个元素,注意与上面add方法区别,add作为整体加到集合中,而update则元素迭代加进去;
se.update([1,2]) => {1, 2}
se.update('abc') => {1, 2, 'a', 'c', 'b'}
se.update((3,4)) => {1, 2, 3, 4, 'a', 'c', 'b'}
se.remove(3) #指定元素值移除
se.pop() #随机弹出

集合取值,转成列表

li = list(se)

字典 dict key:唯一性,无序性,可变,重复会被重新赋值

定义

dic1=dict(name='llp') =》{'name': 'llp'} #name要符合变量命名规则,括号里赋值方式,名字=对象,不要引号
dic = {'name':'llp','age':18,'sex':'boy'}

字典取值,修改

dic['name'] =>'llp' #利用键取对应值
dic['age']=21 #利用重复会覆盖旧值性达到修改作用;
dic['school']='hunanxuexiao' #dic[key]=value #key存在则修改值,没有则添加

字典方法

di.fromkeys(['a','b','c']) #用给定的键建立新的字典
dic.get('name') #取值,键存在则返回对应值
dic.get('school') #如果不存在,默认返回none,可以自定义
dic.get('school','没有这个属性') =》 '没有这个属性'

dic.items() #查看字典中的每一项
dic.keys() #查看字典中的每一个键
dic.values() #查看字典中每一个值

可以通过转换为列表list()来获取每一项内容

dic.pop('school') #指定键弹出对应的值
dic.popitem() #随机弹出某一项,没内容了还弹就会报错KeyError

dic.setdefault('a',23) #类似get,如果键存在,返回对应值,不存在则更新
dic1 = {'a':1,'c':666}
dic2 = {'a':0,'b':998}
dic2.update(dic1) => {'a': 1, 'b': 998, 'c': 666} #将一个字典的内容添加到另一个字典,旧的值被覆盖;
-------------------》》》》》》》------------------------------------》》》》》》》》

1.有两个列表 x = [1,2,3,'a','b','c'] y = ['a','b','c'] 找出x列表中在y 中也有的元素

x = [1,2,3,'a','b','c']
y = ['a','b','c']
se1 = set(x)
se2 = set(y)
print(se1 & se2)

2.新建一个字典,用3种方法往字典里面插入值;用 4 种方法取出values,用2种方法取出key

插入值:

dic = dict(name = 'llp')
dic['sex'] = 'boy' #有指定的键则修改,没有则增加对应键值
dic.setdefault('age',18) #
dic.update({'school':'xuexiao'})

取出values###

1.values方法

lis = list(dic.values())
print(lis[:])

2.get方法 取值,键存在则返回对应值,如果不存在,默认返回none,可以自定义

lis2 = []
lis2.append(dic.get('name'))
lis2.append(dic.get('sex'))
lis2.append(dic.get('age'))
lis2.append(dic.get('school'))
print(lis2)

lis3 = list([dic.get('name'),dic.get('sex'),dic.get('age'),dic.get('school')])
print(lis3)

3.setdefault方法 类似get,如果键存在,返回对应值,不存在则更新

lis4 = list([dic.setdefault('name'),dic.setdefault('sex'),dic.setdefault('age'),dic.setdefault('school')])
print(lis4)

4. 利用key

lis5 = list([dic['name'],dic['sex'],dic['age'],dic['school']])
print(lis5)

取出key##

print(list(dic)) #将字典转换为list,则每个元素就是key
print(list(dic.keys()))
list(di.items())[0][0]

3.定义我们学过的每种数据类型,并且注明,哪些是可变,哪些是不可变的.

数值类型:int float bool complex

s=str() #字符串
lis = list() #列表
tu =tuple() #元组
se = set() #集合
dic = dict() #字典

可变对象:list set dict,数值类型(int float bool complex)

不可变对象: str tuple

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

推荐阅读更多精彩内容