day08 set的功能,创建方法。和字典的创建其他方法及字典的功能。

set的创建方法和字典的创建方法

'''

set 是一个无序的、不重复的集合容器。会自动过滤重复的元素。

set的创建方法:1、set() -> new empty set object

2、set(iterable) -> new set object

注:创建一个空的set,不能set1={},因为这表示的是一个字典。

'''

#创建一个长度为0的set

set1=set()

print(set1)

print(type(set1))

print(len(set1))

#set的自动去重复

set1={1,2,3,1,2}

print(set1)

#set后面加一个可迭代的,可以直接创建set

set2=set([0,1,2,0,1])

print(set2)

set2=set('abc')

print(set2)

print('*********************华丽的分割线*********************')

'''

字典的创建方法:

|  dict() -> new empty dictionary

|  dict(mapping) -> new dictionary initialized from a mapping object's

|      (key, value) pairs

|  dict(iterable) -> new dictionary initialized as if via:

|      d = {}

|      for k, v in iterable:

|          d[k] = v

|  dict(**kwargs) -> new dictionary initialized with the name=value pairs

|      in the keyword argument list.  For example:  dict(one=1, two=2)

'''

#dict()

infos1 = {'a':1,'b':2}

print(type(infos1))

infos2 = dict(infos1)

print(infos2)

#dict(iterable)

infos1 = [('a',1),('b',2)]

print(dict(infos1))

for m,n in infos1:

print('m=%s,n=%s'%(m,n))

#dict(**kwargs)

infos1=dict(one=1, two=2)

print(infos1)

#set也是可以遍历的。

mySet = {1,2,3,4}

for i in mySet:

print(i)

set的功能

#set.add()新增

set1={0,1,2}

set1.add(6)

print(set1)

#set.remove()移除

set2={1,2,3}

set2.remove(1)

print(set2)

#set 的并,交,差,得到的是一个新的集合set,不改变原来的。

set1={0,1,2}

set2={1,2,3}

print(set1 | set2)

print(set1 & set2)

print(set1 - set2)

print(set1)

print(set2)

#set的其他功能,作为了解即可。

#1、set.update(x)将集合x并入原集合s中,

#x 还可以是列表,元组,字典等,x 可以有多个,用逗号分开

set1={0,1,2}

set2={1,2,3}

set3=[5,6]

set1.update(set2,set3)

print(set1)

#2、set.discard( x )将 x 从集合s中移除,x只能为元素,

#若x不存在,那么什么也不做(do nithing),不会报错。

set1={0,1,2}

#set1.discard(0)

print('aaaaaaaaaaaaaa')

set1.discard(5)

print(set1)

#3、pop()随机删除并返回集合s中某个值

set1={0,1,2}

a=set1.pop()

print(a)

#4、clear() 清空所有的set内的元素

set1={0,1,2}

set1.clear()

print(set1)

#5、判断 x in s  set同样支持in操作  结果是True时,x是元素。

set1={0,1,2}

set2={0}

print(0 in set1)

print(set2 in set1)

#6、union(x) 并集 得到的是一个新的集合set,不改变原来的

set1={0,1,2}

set2={1,2,3}

print(set1.union(set2))

print(set1)

#7、intersection(x) 交集 得到的是一个新的集合set,不改变原来的

set1={0,1,2}

set2={1,2,3}

print(set1.intersection(set2))

print(set1)

#8、difference(x) 差集 得到的是一个新的集合set,不改变原来的

set1={0,1,2}

set2={1,2,3}

print(set1.difference(set2))

print(set1)

#9、s.issubset(x)  判断 集合s 是否是 集合x 子集

set1={0,1,2,3}

set2={1,2,3}

print(set2.issubset(set1))

#10、x.issuperset( s ) 判断 集合s 是否是集合x的子集

set1={0,1,2,3}

set2={1,2,3}

print(set1.issuperset(set2))

字典的其他方法

'''

字典的复制dict.copy(),内容一样,地址不相同。

判断内容是否相同:==

判断地址是否相同:is

查看地址用 id

'''

di1={'name':'年华','age':18,'sex':'男'}

di2=di1.copy()

print(di1)

print(di2)

print(id(di1))

print(id(di2))

print(id(di1)==id(di2))

print(di1==di2)

print(di1 is di2)

print('*'*60)

'''

dict.fromkeys(seq[, val]))

seq表示可以迭代的,eg列表、字符串、元组。vaule默认值为None

'''

di1={'name':'年华','age':18,'sex':'男'}

ls=[1,2,3]

a=di1.fromkeys(ls)

print(a)

b=di1.fromkeys(ls,'年华')

print(b)

str1='jkl'

a=di1.fromkeys(str1)

print(a)

b=di1.fromkeys(str1,'年华')

print(b)

'''

dict.setdefault(key, default=None),

如果有这个键,则返回字典里的值。

如果没有这个键,则返回default。

'''

di1={'name':'年华','age':18,'sex':'男'}

a=di1.setdefault('name','哈哈')

print(a)

print(di1)

a=di1.setdefault('hobby','呵呵')

print(a)

print(di1)

'''

dict.update(dict2):把字典dict2中的键值对更新到dict

'''

di1={'name':'哈哈'}

di2={'age':20}

di1.update(di2)

print(di1)

print(di2)

'''

字典与列表的对比:

字典特点:1、查找速度快,不会随着键的增加而变慢。

2、需要占用大量的内存,因为字典存的是键值对。内存浪费多。

列表的特点:1、查找和插入的时间随着元素的增加而增加。查找的速度慢。

2、占用的空间小,浪费内存较小。

'''

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

推荐阅读更多精彩内容