原创 DeRoy 编程学习基地 2020-07-17


点击蓝字 关注我们



集合

特性:无序性:

集合中 的元素没有次序唯一性;

集合中不允许存在值相同的元素;

集合的交,并,差

my_set={1,2,3,4,5,6}
other_set={1,3,5,7}
print("交集:",my_set&other_set)
print("并集:",my_set|other_set)
print("差集:",my_set-other_set)
交集: {1, 3, 5}
并集: {1, 2, 3, 4, 5, 6, 7}
差集: {2, 4, 6}

集合增加的方法

add(object)			#将参数添加到集合中去
update(iterable) #将参数的元素单个添加到集合中
my_set = {'编','程','学','习','基','地'}
print(my_set)
my_set.add('学习')
print(my_set)
my_set.update([1,2,3])
print(my_set)
{'基', '编', '地', '学', '程', '习'}
{'基', '编', '地', '学', '程', '学习', '习'}
{'基', 1, '编', '地', 2, 3, '学', '程', '学习', '习'}

集合删除的方法

pop(object)		#随机删除集合中的一个元素
remove(object) #删除集合中指定的元素
my_set={1,2,3,4,5,6}
my_set.remove(1)
print(my_set)
my_set.pop()
print(my_set)
{'学', '习', '程', '编', '地', '基'}
{'学', '学习', '习', '程', '编', '地', '基'}
{'学', 1, 2, 3, '学习', '习', '程', '编', '地', '基'}
{2, 3, 4, 5, 6}
{3, 4, 5, 6}

集合查找的方法

下表示例中的 se1 和 se2 为两个不同的集合

方法作用示例
isdisjoint判断是否没有交集se1.isdisjoin(se2)
issubset判断是否包含于se1.issubset(se2)
issuperset判断是否包含se1.issuperset(se2)

可以使用in判断元素在不在set当中

my_set={1,2,3,4,5,6}
print(2 in my_set,0 in my_set) #==> True False

字典

特性:无序性:字典中 的元素没有次序

以key : value 的形式存值

key值唯一**,**如果重复,后添加的覆盖先添加的

字典的查看方法

get(key)			#返回从字典中获取到的对应的value值,推荐使用
Dictionary['key'] #通过类似于索引取值的方式取出对应的value值,如果取值不存在,报错
keys() #将字典的所有key取出
values() #将字典的所有value取出
items() #将字典的所有key和对应的value拼成一个元祖在放在一起
my_dict={'url1':'baidu.com'
      ,'url2':'www.baidu.com'
      ,'url3':'https://www.baidu.com'}
print(my_dict.get('url1'))
print(my_dict['url2'])
print(my_dict.keys())
print(my_dict.values())
print(my_dict.items())
baidu.com
www.baidu.com
dict_keys(['url1', 'url2', 'url3'])
dict_values(['baidu.com', 'www.baidu.com', 'https://www.baidu.com'])
dict_items([('url1', 'baidu.com'), ('url2', 'www.baidu.com'), ('url3', 'https://www.baidu.com')])

字典的删除方法

clear()		#清空字典
pop(key) #删除字典中指定的key:value键值对
popitem() #随机删除字典中的某个键值对,并且返回该键值对
my_dict={'url1':'baidu.com'
      ,'url2':'www.baidu.com'
      ,'url3':'https://www.baidu.com'}

my_dict.pop('url1')
print(my_dict)
dict_temp = my_dict.popitem();
print(my_dict)
print(dict_temp)
my_dict.clear();
{'url2': 'www.baidu.com', 'url3': 'https://www.baidu.com'}
{'url2': 'www.baidu.com'}
('url3', 'https://www.baidu.com')

字典的其他方法

copy()							#复制字典
setdefault(key, default=None) #返回对应key的value值,如果key不存在则添加
update(dict) #将参数中的值添加到字典中,如果key相同则覆盖
my_dict={'url1':'baidu.com'
      ,'url2':'www.baidu.com'
      ,'url3':'https://www.baidu.com'}

dict_copy = my_dict.copy()
print(dict_copy)
temp = dict_copy.setdefault('url3','value') #如果存在,返回value的值,第二个参数无效
print(temp)
temp = dict_copy.setdefault('url4','value')
print(temp)
print(dict_copy)
dict_copy.update({'key1':'value1','url1':'我要覆盖'})
print(dict_copy)
{'url1': 'baidu.com', 'url2': 'www.baidu.com', 'url3': 'https://www.baidu.com'}
https://www.baidu.com
value
{'url1': 'baidu.com', 'url2': 'www.baidu.com', 'url3': 'https://www.baidu.com', 'url4': 'value'}
{'url1': '我要覆盖', 'url2': 'www.baidu.com', 'url3': 'https://www.baidu.com', 'url4': 'value', 'key1': 'value1'}

可以用in判断一个key是否在dict

my_dict={'url1':'baidu.com'
      ,'url2':'www.baidu.com'
      ,'url3':'https://www.baidu.com'}
print('url1' in my_dict)      # => True