3.散列类型

集合三大特性

确定性,互异性,无序性

集合是可变类型,但集合里面的元####素是不可变类型!

注意集合用 set() 定义 转换

可以通过dir(+查询的对象) 查看对象的所有属性和方法方法

my_list = [1,1,2,3,4]
print(my_list)
#[1,1, 2, 3,3]

注意!在列表中是可以出现重复元素的,但是在集合中的重复元素会自动去重 这就是互异性

key值可以是元组,但不能是列表 因为元组是不可变类型 满足确定性

my_set={1,1,2,3,456,2,3}
print(my_set)#{456, 1, 2, 3}

此时为集合 也可以再次转化为列表

list(my_set) #[456, 1, 2, 3]

两种集合的定义方法 set()的类型转换 or 用{}直接定义

a = [1,2,4,4,5,5,6,6]
print(set(a),type(set(a)))#{1, 2, 4, 5, 6} <class 'set'>
b={1,2,3,4,4,5,6}
print(b,type(b))#{1, 2, 3, 4, 5, 6} <class 'set'>

三种运算 (交集(&),并集(|),差集(-))

c = {1, 2, 3, 4}
d = {5, 6, 7}
print(c & d)#set()没有交集
print(c|d)#{1, 2, 3, 4, 5, 6, 7}
print(c-d)#{1, 2, 3, 4}
print(d-c)#{5, 6, 7} 以前面那个集合为主

集合中的 增 删 改 查

增 add

add将元素增加到集合中,不能加到列表中 ovo!

my_add = {'hello','new'}
my_add.add('world')#注意此处add后面数小括号喔!
print(my_add)#如果没有sorted,则随机排序{'world', 'new', 'hello'} 体现了无序性
print(sorted(my_add))#['hello', 'new', 'world']有sorted则按照规则

删 pop remove

pop

my_pop= {'you','I','he'}
print(my_pop.pop())#随机删除 并返回删除的元素!

当集合由元组或者列表组成时,pop从左往右删

remove是从集合中删除一个元素,但必须有才行

f = {'I','LOVE','YOU'}
f.remove('I')#注意remove没有返回值 没有则报错
print(f)#{'YOU', 'LOVE'}

改 update

update(可迭代对象) 与序列类型的extend相似,都可以将元素拆开后添加,没有返回值喔!

g = {'zxcv',123564,'zjh'}
g.update('hello')
print(g)#{'o', 'e', 'zxcv', 123564, 'zjh', 'h', 'l'}

查 isdisjoint issubset issuperset

isdisjoint 判断是否有交集

x = {1,2,3,4,5,6}
y = {1.2,3,4,5,6,7,8,9}
w = {'helll'}
z = x.isdisjoint(y)
print(z)#有则False
print(w.isdisjoint(y))#无则True

issubset 判断是否包含于

print(x.issubset(y))#False x包含于y

issuperset 判断是否包含另一个集合


字典的知识点

两种定义方式:

my_information={'name':'lihua','height':'180cm','age':18}#这叫键值对形式
# my_information2=dict(a=zhang,b=li)

修改和添加的方式

字典的增删改查

增 setdefault 有则查 无则增 增加的是键值对

my_information={'name':'lihua','height':'180cm','age':18}
my_information.setdefault('age',18)#如果后面这个数不写,则是none 只有键,没有值
print(my_information)#{'name': 'lihua', 'height': '180cm', 'age': 18}

删 clear pop popitem

clear() 直接清空

print(my_information.clear())#None

pop() 方法删除字典给定键 key 及对应的值

a = my_information.pop('name')
print(a)#lihua,,返回值为被删除的值,key 值必须给出,否则返回default 值
print(my_information)#{'height': '180cm', 'age': 18}

popitem 返回并删除最后一对键和值

print(b.popitem())#('w', 3),返回值为被删除值

改 (旧dict).update(新dict) 可以有多个键值对!

dict1 = {'name': 'Tom', 'age': 25}
dict2 = {'sex': 'male', 'email': 'tom@qq.com'}
dict1.update(dict2)
print("合并后的字典为:", dict1)
#合并后的字典为:{'name': 'Tom', 'age': 25, 'sex': 'male', 'email': 'tom@qq.com'}

查 get keys values items

get 得到key对应的value值

也可以通过索引取得

print(dict1[0])# Tom 
print(dict1.get('name'))# Tom  如果没有则输出none!
print(dict1['name'])#也可以用索引的方式查,但是如果没有则报错!

keys 取出所有的key值

print(dict2.keys())#dict_keys(['sex', 'email'])

values 与上面相似,但这个是取出所有value

items 是取出所有键和值

print(dict1.items())
dict_items([('name', 'Tom'), ('age', 25), ('sex', 'male'), ('email', 'tom@qq.com')])

== != >= 的用法
==表示判断
!= 表示不等于
>= 表示大于且等于

and 的用法 两边的结果都成立则返回 True
True and True 返回 True
True and False 返回 False
False and False 返回 False
False and True 返回 False

or 的用法 两边的结果有一个成立则返回 True
False or True 返回 True
False or False 返回 False
True or False 返回 True
True or True 返回 True

not 用法 相反的结果
not True 返回 False
not False 返回 Frue

屏幕截图 2023-07-16 170647.png

屏幕截图 2023-07-16 170658.png

注意 Python中可以用 数字*字符的形式来重复输出

s1='s'*10
print(s1)#ssssssssss

+= -= != 等用法
a+=1 等价于 a=a+1 其他类似

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念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

推荐阅读更多精彩内容

  • 一、集合(元素不重复,无序的无法通过下标取值) 两种定义方法 set = { 1,2,3,4 } ...
    大现在进行时阅读 344评论 0 0
  • 散列类型 1.集合 特性无序(无序性)不重复(互异性)、集合的元素是不可变类型(确定性) 定义方法: set() ...
    拿媳妇换糖阅读 86评论 0 0
  • # # 散列类型,集合、字典、逻辑运算符 # # 集合,增,删,改,查 ,特殊(集合三大特性,唯一性,无序性,确定...
    兵哥v5阅读 91评论 0 0
  • # 集合的定义和特性 #定义 a = {1,2,'hello'}#里面必须有不可变类型元素 b = [1,1,2,...
    宁静致远学以致用阅读 67评论 0 0
  • 集合 定义 1.a={1,2,3}是一个集合,用{}表示集合的话,李米娜必须添加元素2.用a=set()也可表示一...
    lwg_a585阅读 79评论 0 0