1101

2017-11-01  本文已影响0人  不再少少年

字典-其他

infos1={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

infos2=infos1.copy()    #复制字典,地址不同,其他相同

print(infos2)

print(id(infos1)is id(infos2)) #is 判断地址是否相等

print(infos1==infos2)    #== 判断值是否相等

'**************是不是分割线***************'

ls=['A','B','C']

infos=dict.fromkeys(ls,'smd')#创建新的字典,以原列表中的元素作为键,并赋值'smd'

print(infos)

'**************是不是分割线***************'

infos1={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

print(infos1.setdefault('age',17))

print(infos1)  #如果键在字典中,返回这个键所对应的值

print(infos1.setdefault('sex','女'))

print(infos1) #如果键不在字典中,将会添加键并将值设为default

'**************是不是分割线***************'

infos1={'sid':376,

'sname':'任盈盈',

}

infos2={'sid':123,

'sname':'任盈盈',

}

infos1.update(infos2) #把字典2中的键值对更新到字典1

print(infos1)

字典与列表对比

和list比较,dict有以下几个特点:1 查找速度极快,不会随着key的增加而变慢;

2 需要占用大量的内存,内存浪费多。

而list:1 查找和插入的时间随着元素的增加而增加;2 占用空间小,浪费内存很少。

因此,dict是用空间来换取时间的一种方法。

关于 set

#  Set 是无序的,存储的值不能重复

# list是连续的,有顺序,存储的值可以重复

mySet=set([1,2,3])

print(mySet)

#二者相同

mySet={1,2,3}

print(mySet)

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

print(mySet)

'*************割割割割割割***************'

mySet= set()

print(mySet)

'**************割**************************'

mySet={1,2,3}

mySet.add(4)  #新增

print(mySet)

mySet={1,2,3}

mySet.remove(3)

print(mySet)  #删除一个

'***************割****************'

mySet1={1,2,3}

mySet2={3,4,5}

print(mySet1 | mySet2) #并集

print(mySet1.union(mySet2))

print(mySet1 & mySet2) #交集

print(mySet1.intersection(mySet2))

print(mySet1 - mySet2) #差集

print(mySet1.difference(mySet2))

'***************割****************'

set1={1,2,3}

set1.update('4')  #将集合x并入原集合s中,x还可以是列表,元组,字典等,x 可以有多个,用逗号分开

print(set1)

set1={1,2,3}

set1.discard(2) #移除

print(set1)

'***************割****************'

set1={1,2,3}

set2=set1.pop()  #随机删除,并返回

print(set1)

print(set2)

'***************割****************'

set1={1,2,3}

print(2 in set1) #判断是否存在

set1.clear()

print(set1)

'***************割****************'

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

set2={4,5}            #判断是否为子集

print(set2.issubset(set1))

print(set1.issuperset(set2))

多维

python的集合可以存放任意类型,可以嵌套很多层次

ls=[1,2,(4,5,6),7,8,[9,0,('a','b','c')]]

print(ls[5][2][1])

                                                              2017-11-1

上一篇 下一篇

猜你喜欢

热点阅读