一、集合(set):是一组无序且不重复的元素集合(只有整数时是有序的)
my_set = {1,3,4,5,2,7,8,6}
# 只有整数时是有序的
print(my_set)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
{1, 2, 3, 4, 5, 6, 7, 8}
Process finished with exit code 0
1.1、集合(set)—— 添加
add:将元素添加到集合中——示例:集合名.add(‘元素’)
my_set = {1,3,4,5,2,7,8,6}
my_set.add('你好')
my_set.add('哈喽')
print(my_set)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
{1, 2, 3, 4, 5, 6, 7, 8, '哈喽', '你好'}
Process finished with exit code 0
1.2、集合(set)—— 删除
pop:随机删除集合中一个元素 —— 示例:集合名.pop()
my_set = {'hslo',4,'5','你好','7',8,'muyi',6}
a = my_set.pop()
print(f'被删除的元素:{a}')
print(f'删除元素后集合:{my_set}')
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
被删除的元素:你好
删除元素后集合:{'muyi', 4, 'hslo', 6, '5', 8, '7'}
Process finished with exit code 0
remove:删除集合中指定元素,若元素不存在,会抛出KeyError异常——示例:集合名.remove(‘元素’)
my_set = {'hslo',4,'5','你好','7',8,'muyi',6}
my_set.remove('muyi')
print(f'删除元素后集合:{my_set}')
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
删除元素后集合:{4, 6, 8, 'hslo', '7', '你好', '5'}
Process finished with exit code 0
1.3、集合(set)—— 修改
updata:将集合中的元素添加到当前集合中,可传递任何可选代对象,如 列表、元组等——示例:集合名.update(‘另一个集合名’)
my_set = {'hslo',4,'5','你好','7',8,'muyi',6}
myset = {'哈咯',123,'hell word'}
my_set.update(myset) # 将两个集合合并成一个集合
print(f'合并元素后的集合:{my_set}')
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
合并元素后的集合:{'5', '你好', '哈咯', 4, 'hell word', 6, 8, 'hslo', 123, 'muyi', '7'}
Process finished with exit code 0
二、字典(dict):python中最常见的散列类型,使用键值对存储数据
2.1、字典(dict)—— 增加
setdefault:有则查,无责增 —— 字典名.setdefault(key,value)
my_dict = ({
'name': '木易',
'age': 18
})
my_dict.setdefault('age',20) # 有则查
my_dict.setdefault('sex','男') # 无责增
print(my_dict)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
{'name': '木易', 'age': 18, 'sex': '男'}
Process finished with exit code 0
2.2、字典(dict)—— 删除
pop:删除指定 key 的键值对 —— 示例:字典名.pop(key)
my_dict = ({
'name': '木易',
'age': 18,
'sex': '男'
})
a = my_dict.pop('age')
print(f'删除的 key 值:{a}')
print(my_dict)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
删除的 key 值:18
{'name': '木易', 'sex': '男'}
Process finished with exit code 0
popitem:删除字典中最后一个键值对 —— 示例:字典名.popitem()
my_dict = ({
'name': '木易',
'age': 18,
'sex': '男'
})
a = my_dict.popitem()
print(f'删除的键值对:{a}')
print(my_dict)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
删除的键值对:('sex', '男')
{'name': '木易', 'age': 18}
Process finished with exit code 0
2.3、字典(dict)—— 修改
update:将一个字典中的键值对添加到另一个字典中 —— 示例:字典名.update(另一个字典名)
my_dict = ({
'name': '木易',
'age': 18,
'sex': '男'
})
my_dict2 = ({
'name2':'小红',
'sex2':'男',
'age2':'20'
})
my_dict.update(my_dict2)
print(my_dict)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
{'name': '木易', 'age': 18, 'sex': '男', 'name2': '小红', 'sex2': '男', 'age2': '20'}
Process finished with exit code 0
2.4、字典(dict)—— 查询
get:获取指定key对应的value,如果key不存在,则返回None 空 —— 示例:变量名 = 字典名.get(key)
my_dict = ({
'name': '木易',
'age': 18,
'sex': '男'
})
a = my_dict.get('age')
print(a)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
18
Process finished with exit code 0
keys:取出所有的key —— 示例:变量名=字典名.keys()
my_dict = ({
'name': '木易',
'age': 18,
'sex': '男'
})
a = my_dict.keys()
print(a)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
dict_keys(['name', 'age', 'sex'])
Process finished with exit code 0
values:取出所有的value值 —— 示例:变量名.values()
my_dict = ({
'name': '木易',
'age': 18,
'sex': '男'
})
a = my_dict.values()
print(a)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
dict_values(['木易', 18, '男'])
Process finished with exit code 0
items:取出所有的键值对 —— 示例:变量名.items()
my_dict = ({
'name': '木易',
'age': 18,
'sex': '男'
})
a = my_dict.items()
print(a)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
dict_items([('name', '木易'), ('age', 18), ('sex', '男')])
Process finished with exit code 0
例:通过遍历获取my_dict里面的所有值
# 通过遍历获取my_dict里面的所有值
my_dict = ({
'name': '木易',
'age': 18,
'sex': '男'
})
for i in my_dict: # i 为 key
# my_dict[i]:通过my_dict对象 【key】,可以拿到 value 值
print(i,my_dict[i])
print('========================')
# items 获取字典中所有值
for item in my_dict.items():
print(item)
F:\Python3.9\python.exe "D:\muyi\my python\练习.py"
name 木易
age 18
sex 男
========================
('name', '木易')
('age', 18)
('sex', '男')
Process finished with exit code 0