码迷,mamicode.com
首页 > 编程语言 > 详细

Python 基础之集合及基本数据类型总结

时间:2018-12-23 22:17:49      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:包含   lex   pyc   回顾   --   重复元素   add   基本数据   顺序   

1. 前面知识回顾
1.1 根据不同条件为数据类型分类
1.1.1 可变不可变
① 可变:列表、字典
② 不可变:字符串、数字、元组
1.1.2 访问顺序
① 直接访问:数字
② 顺序访问:字符串、列表、元组
③ 映射:字典
1.1.3 存放元素个数
容器类型:列表、元组、字典
原子:数字、字符串
2. 集合(set)
2.1 集合介绍
2.1.1 作用
去重,关系运算。
2.1.2 定义
由不同元素组成,集合是一组无序排列的可 hash 值,可以作为字典的 key。
集合的目的是将不同的值存放到一起,不同的集合之间用来做关系运算,无需纠结于集合中的单个值。
集合中的元素必须是不可变类型(数字、字符串、元组),可变类型是不可 hash 类型,不可变类型是可 hash 类型。
2.1.3 创建集合
① 可以包含多个元素,用逗号分割:

s = {3,5,6,4,7} 
v = type(s) 
print(s)
print(v)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
{3, 4, 5, 6, 7} # 可以看到集合中的元素和上面定义的不同(集合是无序的)。
<class set> 

② 创建一个集合,重复元素只保留一个(去重):

s = {1,2,3,3,3,3,3}
print(s)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
{1, 2, 3} # 此处可以看到输出的集合被去重了。

③ 通过自带 set() 函数创建一个集合:

s = set("alinuxer")
print(s)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
{i, e, l, a, u, n, r, x} # set() 函数会自动将字符串中的每个字符转换为集合中的元素。

④ 通过 set() 函数将列表转换为集合:

li = ["alex","alex","alinuxer","bryant"]
s = set(li)
print(s)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
{alex, alinuxer, bryant} # 去重,无序。

2.1.4 集合的元素遵循三个原则
① 每个元素必须是不可变类型 (可 hash,可作为字典的 key);
② 没有重复的元素(自动去重);
③ 无序。
2.2 集合的常用操作
① add 在集合中添加元素:

s = {1,2,3,4,5,6}
s.add("alinuxer")
print(s)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
{1, 2, 3, 4, 5, 6, alinuxer}

② clear 清空集合中的所有元素:

s = {1,2,3,4,5,6}
s.clear()
print(s)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
set()

③ pop 随机删除集合中的元素:

s = {"1",8,4,"alinuxer",3,5}
s1 = s.pop()
print(s)
print(s1)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
{4, 5, 8, alinuxer, 1}
3

④ remove 指定删除集合中的元素:

s = {"1",8,4,"alinuxer",3,5}
s.remove("1")
print(s)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
{3, 4, 5, 8, alinuxer}
# 提示:指定删除集合中不存在的元素删除就会报错。

⑤ discard 指定集合中的元素删除:【此方法指定不存在的元素删除不会报错】

s = {"1",8,4,"alinuxer",3,5}
s.discard("1")
print(s)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
{3, 4, 5, 8, alinuxer}
s = {"1",8,4,"alinuxer",3,5}
s.discard("12345") # discard 指定不存在的元素删除不会报错。
print(s)
D:\pycharmfiles\first\venv\Scripts\python.exe D:/pycharmfiles/first/day2/buer.py
{3, 4, 5, 8, 1, alinuxer}

------未完待续------

Python 基础之集合及基本数据类型总结

标签:包含   lex   pyc   回顾   --   重复元素   add   基本数据   顺序   

原文地址:https://www.cnblogs.com/alinuxer/p/10165570.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!