jack极速代码

博客园 首页 联系 订阅 管理

# 集合的方法


###字典(dict)和集合(set)的方法
# 可变对象 list 不可变 str,tuple,number
# 什么是序列类型? 有序 列多个 str,list,tuple

 

#set 定义 set() {'h', 'e', 'l', 'o'}
#set() -> new empty set object ${}为字典
# set(iterable) -> new set object

#set属性
#唯一性 去重
#无序
['add', 'clear', 'copy',
'difference', 'difference_update', 'discard',
'intersection', 'intersection_update', 'isdisjoint',
'issubset', 'issuperset', 'pop', 'remove',
'symmetric_difference', 'symmetric_difference_update',
'union', 'update']

a={1,2,3}
b={'a','b','c',3}


a&b ##交集 返回共有的元素 a.intersection(b)
a|b # 并集合并,如有相同元素只保留一个 a.union(b)
b-a #差集 返回一个set,包含b种有的但是a没有的 b.difference(a)
a^b #对称差集 返回一个set,包含a,b所有的元素,去除a,b都有的
#a.symmetric_difference(b)

a.add(5) # 一个
a.update({99,88,77}) #多个
a.remove(5) #移除单个元素
a.clear()

#不可哈希 对应的可变
import copy
a=(1,2,3)
b=copy.copy(a)

 


#dict
# d={}
# 键值对 key:value {'a':1}
# 键类似集合的特性, 唯一值
# 值没有

#list和dict的取值速度
#dict速度更快

['clear', 'copy', 'fromkeys', 'get', 'items',
'keys', 'pop', 'popitem',
'setdefault', 'update', 'values']

###d.clear()
##d.copy()
###dict.fromkeys([1,2,3], 666)
##a.get(2) # 键2 存在 则返回对应的值(value)
##a.get(998) # 键998不存在 则返回值为None
##d.keys()
##d.values()
##d.items()
##d.pop('b') #移除这个键值对,返回值
##d.pop('a',998) #移除这个键值对,不存在则返回第二个参数
##d.popitem() #随机删除一个键值对,返回值为元组的形式
##{}.popitem() # 为空字典的时候,报错
##
##d.setdefault('c') #如键'c' 存在,返回'c'对应的值
##d.setdefault('hello') #如键'hello'不存在,添加键值对'hello':None
##d.setdefault('新来的',998) #如键'新来的'不存在,添加键值对'新来的':998
## #先get 去找 找不到就 添加
##d.update({'d':4,'新来的':'aaaaa'})

 


#六大数据类型
#数值类型:int,float,complex,bool
#序列类型
# str dir(str)
# list
# tuple
#非序列类型
# dict
# set

posted on 2018-05-13 15:14  jack极速代码  阅读(62)  评论(0)    收藏  举报