集合
集合创建
集合的特点:(1)互异性 (2)无序性 (3)确定性。创建空集合只能用set() ,用{}创建的是一个空字典。集合本身是可变类型,但要求放入集合中的元素是不可变类型。
# 使用{}直接创建集合
s1 = {1,2,3,'a','b','c'}
print(type(s1))
print(s1)
s2 = {1,2,(4,5)}
#集合本身是可变类型,但要求放入集合中的元素是不可变类型
print(s2)
# s3 = {1,2,[4,5]}
#集合本身是可变类型,但要求放入集合中的元素是不可变类型 会报错,因为[]列表是可变类型
#<class 'set'>
#{'c', 1, 2, 3, 'a', 'b'}
#{(4, 5), 1, 2}
#判断元素是否在集合中 in / not in
a=set(range(1,10,2))
print(a)
print(7 in a)
print(2 in a)
#{1, 3, 5, 7, 9}
#True
#False
集合的常见操作
len()求集合的长度
copy()集合的复制
add(x)向集合中添加一个元素x,x已存在时不做处理
update( )向集合中添加多个元素,添加多个元素可以是可迭代类型
remove(x)删除集合中的指定元素x,若x不存在会报错
discard(x)删除集合中的指定元素x,若x不存在不会报错,不做任何处理
pop() 随机返回该元素,并删除集合中的该元素,若集合为空,则报错
clear()删除集合中的所有元素,清空集合
isdisjoint(T) 判断集合与集合T是否有相同元素,没有返回True,有返回False
#(1)求集合的长度 len()
x = {1,2,3,'a','b','c'}
print("集合的长度为:",len(x))
#(2)集合的复制
y = x.copy()
print(y)
#(3)add(x)向集合中添加一个元素x,x已存在时不做处理
x.add('p')
print("向集合x中添加元素p后:",x)
#(4)update( )向集合中添加多个元素,添加多个元素可以是可迭代类型
x.update({'y','t'})
print("向集合x中添加元素y,t后:",x)
x.update([4,6])
print("向集合x中添加元素4,6后:",x)
x.update(range(10,12))
print("向集合x中添加元素10,11后:",x)
#(5)remove(x)删除集合中的指定元素x,若x不存在会报错
x.remove(11)
print("删除集合x中的元素11",x)
#x.remove(13) 删除不存在元素会报错
#(6)discard(x)删除集合中的指定元素x,若x不存在不会报错,不做任何处理
x.discard(13)
#(7)pop() 随机返回该元素,并删除集合中的该元素,若集合为空,则报错
x.pop()
print("随机删除集合x中的一个元素后:",x)
#(8)clear()删除集合中的所有元素,清空集合
y.clear()
print(y)
#(9) isdisjoint(T) 判断集合与集合T是否有相同元素,没有返回True,有返回False
z = {1,2,'d','f'}
print(x.isdisjoint(z))
# 集合的长度为: 6
# {1, 2, 3, 'a', 'b', 'c'}
# 向集合x中添加元素p后: {'c', 1, 2, 3, 'p', 'a', 'b'}
# 向集合x中添加元素y,t后: {'c', 1, 2, 3, 'p', 't', 'y', 'a', 'b'}
# 向集合x中添加元素4,6后: {'c', 1, 2, 3, 4, 6, 'p', 't', 'y', 'a', 'b'}
# 向集合x中添加元素10,11后: {'c', 1, 2, 3, 4, 6, 'p', 10, 11, 't', 'y', 'a', 'b'}
# 删除集合x中的元素11 {'c', 1, 2, 3, 4, 6, 'p', 10, 't', 'y', 'a', 'b'}
# 随机删除集合x中的一个元素后: {1, 2, 3, 4, 6, 'p', 10, 't', 'y', 'a', 'b'}
# set()
# False
集合可用 + - & | ^ 求相关运算
字典
字典的创建
字典的特点:
每个对象是一个键值对{键:值}{key:value}
键一般情况下是字符串,也可以是数字、元组等不可变的数据类型
值可以是任意数据类型
#使用{}构建字典
d0= {}
print(type(d0))
d1 = {'A': 123, 12: 'python'}
print(type(d1),d1)
#使用dict()函数构建字典
d2 = dict({'A': '123', 'B': '135'})
print(type(d2),d2)
# <class 'dict'>
# <class 'dict'> {'A': 123, 12: 'python'}
# <class 'dict'> {'A': '123', 'B': '135'}
字典的访问
通过get() 方法根据键获取对应的值,如果指定的键不存在,返回default
通过keys()方法获取所有键
通过values()方法获取所有值
通过items()方法获取所有元素
keys() values() items() 方法获取到的都是可迭代的对象
d1 = {'A': 123, 12: 'python'}
d2 = dict({'A': '123', 'B': '135'})
#(1)通过get() 方法根据键获取对应的值,如果指定的键不存在,返回default
print(d2.get('B'))
print(d1.get('A'))
#(2)通过keys()方法获取所有键
print(d1.keys())
#(3)通过values()方法获取所有值
print(d2.keys())
#(4)通过items()方法获取所有元素
print(d2.items())
# keys() values() items() 方法获取到的都是可迭代的对象
for i in d2.items():
print(i)
for j in d2.keys():
print(j)
for k in d2.values():
print(k)
123
python
135
123
dict_keys(['A', 12])
dict_keys(['A', 'B'])
dict_items([('A', '123'), ('B', '135')])
('A', '123')
('B', '135')
A
B
123
135
字典的添加和修改
#(1) 利用键索引,访问字典的值并修改
dic = {"name":"Tom","sex":"male","age":18}
dic["name"]="Tim"
print(dic)
#(2) 利用update()方法修改元素
dic.update(age=20)
print(dic)
#(3) 利用 字典变量[键]=值 的方式为字典新添一个元素
dic["score"]=89
print(dic)
#(4) 利用update()方法为字典添加元素
dic.update(height =175 )
print(dic)
{'name': 'Tim', 'sex': 'male', 'age': 18}
{'name': 'Tim', 'sex': 'male', 'age': 20}
{'name': 'Tim', 'sex': 'male', 'age': 20, 'score': 89}
{'name': 'Tim', 'sex': 'male', 'age': 20, 'score': 89, 'height': 175}
字典的常用方法
copy()字典的复制
pop()根据指定键删除字典中指定元素,删除成功,则该方法返回目标元素的值
popitem() 随机删除字典中的元素,若删除成功,则该方法返回被删除的元素 默认从字典末尾开始删除
clear()用于清除字典中元素
# (1)计算字典的长度
print("字典dic的长度为:",len(dic))
#(2)copy()字典的复制
dic0 = dic.copy()
print(dic0)
#(3) pop()根据指定键删除字典中指定元素,删除成功,则该方法返回目标元素的值
dic.pop("score")
print(dic)
#(4)popitem() 随机删除字典中的元素,若删除成功,则该方法返回被删除的元素 默认从字典末尾开始删除
dic0.popitem()
print(dic0)
#(5)clear()用于清除字典中元素
dic0.clear()
print(dic0)
# (1)计算字典的长度
print("字典dic的长度为:",len(dic))
#(2)copy()字典的复制
dic0 = dic.copy()
print(dic0)
#(3) pop()根据指定键删除字典中指定元素,删除成功,则该方法返回目标元素的值
dic.pop("score")
print(dic)
#(4)popitem() 随机删除字典中的元素,若删除成功,则该方法返回被删除的元素 默认从字典末尾开始删除
dic0.popitem()
print(dic0)
#(5)clear()用于清除字典中元素
dic0.clear()
print(dic0)
字典dic的长度为: 5
{'name': 'Tim', 'sex': 'male', 'age': 20, 'score': 89, 'height': 175}
{'name': 'Tim', 'sex': 'male', 'age': 20, 'height': 175}
{'name': 'Tim', 'sex': 'male', 'age': 20, 'score': 89}
{}