新手小白学python——python基础-字典和集合
2019-09-21 10:39
706 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44252609/article/details/101099957
字典
字典的定义:在Python中保存键值对(key = value)格式的数据的一种类型叫做字典(dict)
字典的格式:
# 创建一个带参的字典 new_dict = {'name': '张三', 'age': 50, 'sex': '男'} # 创建一个空字典 new_dict1= {}
字典的应用场景:由于字典格式的特殊性,在保存一些事物的信息时,可以使用,处理起来更加方便快捷
字典中的注意事项:字典中的key应该是不可变数据类型,value可以是任意数据类型
字典的遍历:(通常是通过遍历键,来获取值)
# 遍历字典 new_dict = {'name': '张三', 'age': 50, 'sex': '男'} for key in new_dict: print(new_dict[key]) """ 打印结果: 张三 50 男 """
字典中常用的方法:
- 增加
方法 | 描述 |
---|---|
变量名[key] = value | 通过key添加value值,如果key存在,则直接覆盖 |
setdefault(key, default_value) | 指定key和value, 如果key存在则返回其值,不会修改原来的值 |
new_dict = {'name': '张三', 'age': 50, 'sex': '男'} new_dict1 = {'name': '李四', 'sex': '男', 'height': 178} # 通过key修改 new_dict['name'] = 'Tom' print(new_dict) # {'name': 'Tom', 'age': 50, 'sex': '男'} # setdefault() 方法 new_dict.setdefault('height', 178) print(new_dict) # {'name': 'Tom', 'age': 50, 'sex': '男', 'height': 178} new_dict.setdefault('name', 'jack') print(new_dict) # {'name': '张三', 'age': 50, 'sex': '男', 'height': 178}
- 删除
方法 | 描述 |
---|---|
pop | 弹出,返回删除指定元素 |
popitem | 随机弹出一个键值元组,这里随机的原因是因为字典无序 |
clear | 清空字典 |
new_dict = {'name': '张三', 'age': 50, 'sex': '男', 'height': 178} # pop 方法 new_dict.pop('name') print(new_dict) # {'age': 50, 'sex': '男', 'height': 178} # popitem 方法 new_dict.popitem() print(new_dict) # {'age': 50, 'sex': '男'} # clear 方法 new_dict.clear() print(new_dict) # {}
- 修改
方法 | 描述 |
---|---|
变量名[key] = value | 通过key添加value值,如果key存在,则直接覆盖 |
update() | 传递一个字典。如果key相同则覆盖,没有的key则添加 |
new_dict = {'name': '张三', 'age': 50, 'sex': '男'} new_dict1 = {'name': '李四', 'sex': '男', 'height': 178} # 通过key修改 new_dict['name'] = 'Tom' print(new_dict) # {'name': 'Tom', 'age': 50, 'sex': '男'} # update() 方法 new_dict.update(new_dict1) print(new_dict) # {'name': '李四', 'age': 50, 'sex': '男', 'height': 178}
- 查找
方法 | 描述 |
---|---|
keys | 返回一个包含字典所有key的列表 |
values | 返回一个包含字典所有value的列表 |
get | 以键取值,如果指定键不存在,默认返回None,可以指定返回内容 |
update | 以字典格式更新指定键的内容,如果键不存在,创建键和值 |
items | 返回字典键值呈元组形式的格式 |
len | 返回元组的键值对个数 |
info = {'name': 'zs', 'age': 10, 'height': 1.78} # 根据key查找 name = info['name'] print(name) # zs # get() 方法 name = info.get('name') print(name) # zs # keys方法 keys = info.keys() print(keys) # dict_keys(['name', 'age', 'height']) # values方法 values = info.values() print(values) # dict_values(['zs', 10, 1.78]) # items 方法 items = info.items() print(items) # dict_items([('name', 'zs'), ('age', 10), ('height', 1.78)]) # len方法 l = len(info) print(l) # 3
在这里说一个字典中的操作:键值互换
info = {'name': 'zs', 'age': 10, 'height': 1.78} dict2 = {} for k, v in info.items(): dict2[v] = k print(dict2) # {'zs': 'name', 10: 'age', 1.78: 'height'}
集合
集合的定义:集合是盛放多个数据的一种类型。
集合的特点:集合中的元素的无序的,唯一的,不可改变类型。
集合的创建:
# 集合的创建 # 创建一个空集合 set1 = set() # 创建一个非空集合 set2 = {1, 2, 3, 4}
集合中的操作
- 添加操作:add() 和 update()
set2 = {1, 2, 3, 4} set2.add(5) print(set2) # {1, 2, 3, 4, 5} set2.update({3, 4, 5, 6}) print(set2) # {1, 2, 3, 4, 5, 6}
- 删除操作
pop, remove, clear, del
set1 = {1, 2, 3, 4, 5, 6} # pop set1.pop() print(set1) # {2, 3, 4, 5, 6} # remove set1.remove(4) print(set1) # {2, 3, 5, 6} # clear set1.clear() print(set1) # set() # del del set1 print(set1) # 报错 NameError: name 'set1' is not defined
集合中的数学运算
- 交集(& 或者 intersection) 取公共部分
- 并集(| 或者 union) 取去除重复部分的内容
- 差集(- 或者 difference) 取 set1或set2中除去公共部分的内容
- 反差集(^ 或者 symmetric_difference)
- 子集 (< 或者 issubset)
- 超集 (> 或者 issuperset)
# 交集 set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} set3 = {1, 2, 3} print(set1 & set2) print(set1.intersection(set2)) # {4, 5} # 并集 print(set1 | set2) print(set1.union(set2)) # {1, 2, 3, 4, 5, 6, 7, 8} # 差集 print(set1-set2) print(set1.difference(set2)) # {1, 2, 3} # 反交集 print(set1 ^ set2) print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8} # 子集 print(set3 < set1) # True print(set3.issubset(set1)) # True # 超集 print(set1 > set3) # True print(set1.issuperset(set3)) # True
集合的应用场景:
可以用来对数据进去重操作
例如:
去除列表中的重复元素
# 去重操作 lst = [1, 2, 3, 4, 4, 3, 2] set1 = set(lst) print(set1) # {1, 2, 3, 4} list2 = list(set1) print(list2) # [1, 2, 3, 4]
相关文章推荐
- python基础第五课 字典 集合
- python基础数据结构——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- Python基础【数据结构:列表 | 元组 | 集合 | 字典】
- Python基础总结之第十天开始【认识一下python的另一个数据对象-----字典】(新手可相互督促)
- python基础--元组,集合和字典
- Python基础入门3--list集合,元组,字典
- python基础2(列表,元组,字典,集合,运算符)
- Day2 Python基础学习——字符串、列表、元组、字典、集合
- Python基础之列表、元组、字典、集合的使用
- Python 3.6 学习--基础6:数据结构--del声明,元组和序列,集合,字典
- Python基础操作 列表 字典结构 集合 循环 判断 复制操作 函数
- python基础3(元祖、字典、深浅copy、集合、文件处理)
- python基础--列表,字典,集合生成式,生成器
- python基础->Task3->字典-集合-流程语句
- python基础 第一天 (列表操作、字典操作,集合操作,文件操作)
- Python3学习笔记【基础3--list,tuple,if条件判断,for/while循环,dict字典,set集合】
- python入门:基础,列表、元组、字典及集合类型
- Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)
- Python基础:字典、集合的用法类型
- Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】