2017.11.1知识点

infos1={

'sid':110,

'sname':'老王',

'age':22,

'hobby':['抽烟','喝酒','烫头发',]

}

#copy 内容一样,地址不同

infos2=infos1.copy()

print(infos2)

print(id(infos1))

print(id(infos2))

print(infos1==infos2)

'''

== 是判断值是否相等

ls 是判断地址是否相同

'''

ls1=[1,2,3]

ls2=[1,2,3]

print(ls1==ls2)

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

'''

功能,字典可以用一个可迭代的对象作为值

值value如果不写默认为none

'''

ls=['a','b','c',]

infos=dict.fromkeys(ls,'哈哈')

print(infos)

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

infos1={

'sid':110,

'sname':'老王',

'age':22,

'hobby':['抽烟','喝酒','烫头发',]

}

'''如果字典里键存在,不能修改,并返回原来这个值

如果不存在,新增再字典里,并返回新增的值

'''

infos1.setdefault('sid',120)

print(infos1)

infos1.setdefault('sex','男')

print(infos1)

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

infos1={'sid':1}

infos2={'sid':2,'sname':'老王'}

#字典的键不能重复,如果重复后面的会覆盖前面的

infos2.update(infos1)

print(infos2)

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

'''

字典与列表对比

和list对比,dict有以下特点:

1、查找速度快,不会随着key增加而变慢

2、需要占用大量内存,内存浪费

3、占用空间大,查询效率高

而list:

查找和插入元素的时间随着元素的增加而增加

占用空间小,浪费内存

所以dict是一种以空间获取时间的一种方法

'''

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

'''

set集合

list列表是连续的,存储的值可以重复

元组是不可修改的列表

而set和字典一样,是无序的,不能重复

set里面放可迭代的东西,例如列表

set也用大括号取值,里面只能放一个值

set一般可以帮助我们自动去重复

'''

mySet=set([1,2,3,4,5,6,1,2,3,4,])

print(mySet)

mySet=set()  #没有放值,空白列表

print(mySet)

mySet={}  #不能这样写,是字典类型

print(mySet)

print(type(mySet))#字典类型

mySet = set([1,2,3,3,])#定义方式多种,可迭代,字符串也可以

print(mySet)  #自动去重复

mySet={1,2,3,3,2,}

print(mySet)

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

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

infos2=dict(infos1)

print(infos2)  #无序的

#直接遍历字典只能得到一个值,不能得到键值对的两个值

#不仅可迭代,还得两个值,用字典元组都行,列表也行

infos1=[('a',1),('b',2)]  #列表两个值,得到两个元组

for m,n in infos1:

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

a,b=(1,2)  #得到元组可以给两个值赋值

print(a)

print(b)

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

infos = dict(c=1,d=2) #不加单引号,定义好的

print(infos)

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

mySet={1,2,3,4,}

#print(mySet(2))错误,无序

for i in mySet:  #不能通过下标获取,无序,只能循环获取

print(i)  #只要集合都能循环

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

'''

set的一些常见操作

'''

#新添加

mySet={1,2,3,4,5,6,}

mySet.add(120,)

print(mySet)

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

mySet={1,2,3,4,5,6,}

mySet.remove(3,)  #只能移除一个数

print(mySet)

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

#并集|  交集&  差集-(左差集,右差集)

mySet1={1,2,3,}

mySet2={2,3,4,5}

print(mySet1 & mySet2)  #  .intersection交集

print((mySet1).intersection(mySet2))

print(mySet1 | mySet2)  #  .union并集

print(mySet1 - mySet2)  #  .difference差集

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

mySet1={1,2,3,}  #将集合x并入集合s当中,x可以是列表,元组字典等 ,x可以有多个,用逗号隔开

mySet2={2,3,4,5}

mySet1.update(mySet2)

print(mySet1)

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

mySet1={1,2,3,4,}

mySet2={1,2,3,}

mySet1.discard(2)  #只能移除一个,和remove类似

print(mySet1)

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

mySet1={1,2,3,4,}

ret=mySet1.pop()

print(ret)  #随机删除,并返回这个值

print(mySet1)

mySet1={1,2,3,4,}

mySet1.clear()

print(mySet1)  #清空

mySet1={1,2,3,4,} #是否正确

print(1 in mySet1)

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

mySet1={1,2,3,4,}

mySet2={1,2,3,}  # 判断s是否是x的子集

print((mySet2).issubset(mySet1))

print((mySet1).issuperset(mySet2))## 判断x是否是s的子集

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 列表-切片 切片的目的就是获取列表中的一部分,得到一个新的列表,不改变原来。 ''' ls=[i**2 for i...
    不再少少年阅读 461评论 0 0
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,858评论 2 16
  • 1. 切片: ''' 列表生成式 ''' myList = [i*10 for i in range(0,11...
    __X呦阅读 400评论 0 2
  • 字典-其他 infos1={'sid':376, 'sname':'任盈盈', 'age':21, 'hobby'...
    不再少少年阅读 308评论 0 0
  • 她撑起了伞 拒绝了天空的哭泣 也拒绝了我的善意
    wuli榛子酱阅读 268评论 0 0