python数据类型(三)
python数据类型(三)
阿豪学习python的第五天
该文章主要学习内容:
列表、元组、字典、集合
列表(list)
列表介绍
列表时python中最基本也是最常用的数据结构之一,它是一个
有序可重复的元素集合
。从数据结构角度看。python的列表时一个
可变长度
的顺序存储结构,每一个位置存放的都是对象的指针。我们可对列表进行 修改、切片、追加、删除、嵌套、迭代、成员判断 等操作。
列表创建
创建一个列表,只要把
逗号
分割的不同的数据元素
使用方括号
括起来即可。除此之外,我们还可以直接通过
lisk()
来进行创建列表注意:
- 变量名最好不适用
list
- 列表里的
元素
可以是任意类型
iterable
表示可迭代的对象
,简单来说就是可以一个一个元素取出来的。比如:str
- 变量名最好不适用
1 | 列表创建访问.py |
访问(查)列表内的元素
列表
从0开始
为它的每一个元素顺序创建下标索引
,直到总长度减一
。要访问它的某个元素,以方括号加下标值的方式即可。注意要确保索引不越界,一旦访问的
索引超过范围
,会抛出异常。所以,一定要
记得最后一个元素的索引是 len(list)-1。思考:
li = [1, 2]是 如何取出元素的呢?
1 | 列表创建访问.py |
修改列表内的元素
直接
取出元素
进行重新赋值
思考:
li = [“a”, “b”, “c”] 是怎么把”a”改为”A”的呢?
1 | 列表创建访问.py |
- 直接
取出元素
,再通过del语句
或者list.remove()
或者list.pop()
进行删除
1 | 列表元素增删.py |
列表的特殊操作
1 | 列表特殊操作内置函数.py |
常用内置函数
1 | 列表特殊操作内置函数.py |
列表的排序与反转
1 | 列表的排序与反转.py |
列表的切片
- 思考:
- li = [1,2,3,4,5,6,7]取[2,3,4]以及取出[2,4,6]
1 | 列表的排序与反转.py |
列表常见操作
- L.append(object) –> 在列表末尾添加新的对象
- L.extend(iterable) –> 用新列表扩展原来的列表
- L.count(object) –> 统计某个元素在列表中出现的次数
- L.index(value) –> 从列表中找出某个值第一个匹配项的索引位置
- L.insert(index, object)–> 将对象插入列表
- L.pop([index]) –> 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
- L.remove(value) –> 移除列表中某个值的第一个匹配项
- L.reverse() –> 反向列表中元素
- L.sort(reverse=False) –> 对原列表进行排序
- L.copy() –> 复制列表
- L.clear() –> 清空列表
1 | 列表常见函数.py |
元组(tuple)
元组介绍
- 元组也是
序列结构
,但是是一种不可变序列
,你可以简单的理解为内容不可变的列表。除了在内部元素不可修改的区别外,元组和列表的用法差不多。
元组创建
- 创建一个元组,只要把
逗号
分隔的不同的数据元素
使用小括号
括起来即可。
- 除此之外,我们还可以直接通过
tuple()
来进行创建元组。
元组与列表相同的操作
- 使用
方括号加下标
访问元素 切片
(形成新元组对象)tuple.count()
|tuple.index()
- python内置函数:
reversed()
,sorted()
- 加法及乘法
1 | 元组.py |
元组中不允许的操作
不
允许修改
、新增
元素。(一级)不
允许删除
某个元素(但可以删除整个元组)
实际上,元组没有任何会对内部元素发生 修改
动作的方法。例如,元组没有remove,append,pop 等方法
元组与列表之间的转换
字典(dict)
字典介绍
- Python 的字典数据类型是基于 hash 散列算法实现的,采用
键值对(key:value)
的形式,根据 key 的值计算 value 的地址,具有非常快的查取和插入速度。它是一种可变对象
,所以支持修改、插入、删除等操作。
字典创建
注意:
- 在 Python3.6 开始,字典对象会保持键值插入时的
顺序
,并且其包含的元素个数不限
,值的类型
也可以是其它任何数据类型
。 - 字典的
key
必须是不可变的对象
,例如整数、字符串、bytes 和元组,但使用最多的还是字符串。 列表、字典、集合等就不可以作为 key。同时,同一个字典内的key 必须是唯一
的,但值则不必。
1 | 字典.py |
访问字典
- 字典是
集合类型
,不是序列类型,因此没有索引下标
的概念,更没有切片
的说法。但是,与 list 类似,字典采用把相应的键
放入方括号
内获取对应值
的
方式取值。
如:dic[exit_key]
思考:当 key 值不存在时,程序会怎么样呢?
1 | 字典.py |
字典的增加与修改
增加
就是往字典插入新的键值对
修改
就是给原有的键赋予新的值
。由于一个 key 只能对应一个值,所以,多次对一个 key 赋值,后面的值会把前面的值覆盖
掉。
1 | 字典.py |
一系列删除
- 删除字典元素:
del dic[exit_key] 或 dic.pop(exit_key)
- 删除整个字典:
del dic
- 清空整个字典:
dic.clear()
1 | 字典.py |
字典常见操作
- D.items() –> 以列表返回可遍历的(键, 值) 元组对
- D.keys() –> 以列表返回字典所有的键
- D.values() –> 以列表返回字典所有的值
1 | 字典.py |
集合(set)
集合介绍
- 集合( set )是一个
无序不重复
元素的集,基本功能包括关系测试和消除重复元素。是可变数据类型
。 - 集合数据类型的
核心
在于自动去重
。
集合创建
集合使用
大括号 {}
框定元素,并以逗号
进行分隔。s = {ele1,ele2,ele3...}
s = set()
s = set(iterable)
注意:
{}
并不是
创建空集合
,而是空字典
。创建空集合
需使用set()
1 | 集合.py |
添加元素
- 通过
set.add(key)
方法可以添加元素
到 set 中
注意:
- 可以重复添加,但是会
自动去重
,所以无效果 不能添加可变对象
1 | 集合.py |
集合更新
- 可以通过
set.update()
方法,将另一个对象更新
到已有的集合中
,这一过程同样会进行去重
。
1 | 集合.py |
删除元素
set.remove(key)
:删除指定元素set.pop()
:随机删除元素(注意:无参数)
注意:
集合不能取出某个元素
,因为集合既不支持下标索引也不支持字典那样的通过键值对获取。
1 | 集合.py |
封面图片
觉得该文章对您有帮助,可以在下方给博主留言(如有错误可以通过留言或者联系博主进行更改)
感谢您的观看,欢迎下次再见,再见
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果