py基础系列(三):python容器数据类型(上)

Python容器数据类型

除基本类型外,Python还提供了容器数据类型,可容纳批量数据。有以下三种类型:

1.序列类型:序列类型的元素都有索引序号,可通过索引访问元素 。字符串 列表 元组

2.映射类型:映射类型的元素由键(key)和值(value)组成,称为“键值对”,键必须唯一。 字典

3.集合类型:集合类型中的元素无序且不允许重复

列表

列表中的元素类型可以相同也可以不同

(1)创建列表

创建列表方法一: x=[元素1, 元素2, … ] 或 x=list( 元素 )

在这里插入图片描述

创建列表方法二: xlist(可迭代对象/list容器)创建
在这里插入图片描述

(2)列表基本操作

访问列表中元素: 列表对象[index]
列表合并: 运算符“+”将两个列表合并在一起
重复: 使用运算符“*”创建具有重复元素的列表

在这里插入图片描述

迭代: 迭代操作可用于遍历列表中的元素
成员判断: “in”操作符判断对象是否属于列表,返回逻辑值

在这里插入图片描述

(3)列表常用函数

函数名说明
append(x)在尾部添加新元素x(这个元素可以是队列或其他类型)
index(x)返回x在列表中的索引位置,不含x将返回一个运行时错误
count(x)统计指定元素值x的出现次数
del 对象[index]删除列表对象中索引为index的元素
extend(lst)添加新列表lst
insert(index, x)插入新元素
len(lst)求列表长度
pop(index)根据索引删除元素,并返回删除对象
remove(x)删除元素x
reverse()逆排列
sort()排序

注意:

删除函数:

pop(index) 删除索引为index的元素并返回该元素

remove(x) 删除元素x 没有返回

del 该方法时独立的 ,不是列表容器的方法。可以删除所有变量

排序函数:

sort(lst) 默认升序排序(reverse=True则变为降序),改变原列表lst。

返回值为None
若写成lst2=lst.sort() 则lst2被赋值为None
lst2=sorted(lst) 不改变源列表lst 返回排序后的列表

index(x) x不存在则报错
count(x) 统计x出现的次数,x不存在则返回0

改变原列表的函数:
reverse() 没有返回值
sort() 没有返回值
extend() 没有返回值

extend()函数和合并符号"+"
extend()参数为列表 没有返回值 lst=lst.extend(lst1) lst 得到的结果是None
+:合并两个列表 左右操作数都为列表

示例

在这里插入图片描述

补充:
这里列表y被当作一个元素添加到x末尾

在这里插入图片描述

lst.index(value,[start,[stop]])

在这里插入图片描述

lst.insert(index,value)

index范围[0,lst.length]

列表求和:sum(lst)

列表长度:len(lst)

在这里插入图片描述
在这里插入图片描述

extend()无返回值
删除列表中元素
pop(index)
remove(x)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

extend()参数必须为列表 否则会报类似如下错误
在这里插入图片描述

reverse()
sort()
sorted
在这里插入图片描述

在这里插入图片描述

(4)切片

列表对象[start : end : step]

start:切片的开始索引位置,可省略,默认为0;
end:切片的终止索引位置(不包括),可省略,默认为列表长度;
step:步长,表示截取数据的步长,正数表示从左向右截取,负数表示从右向左截取,可省略但不能为0,默认为1。
在这里插入图片描述
在这里插入图片描述

[begin🔚step] begin和end都省略不写这为列表从头到尾
在这里插入图片描述

(5)range()

在这里插入图片描述

(6)列表生成式

新列表对象=[ 表达式 for 变量 in 可迭代对象 <if 条件> ]

示例

在这里插入图片描述

#这里if条件这样理解python中1的真值为True
for x in range(6):    
  if x%2==1:        
    y.append(x**2)

产生6以内的奇数的平方元组特点:
在这里插入图片描述

序列类型 元组

特点:

序列数据类型容器,可以按索引访问,允许重复值。自创建后,元组的值就不能修改。元组是不可变类型元组没有find()函数

(1)创建元组
创建元组方法一

在这里插入图片描述

创建元组方法二:

tuple(可迭代对象)
可迭代对象有:
列表 字符串 range

示例

在这里插入图片描述

(2)索引

由于元组不能修改添加值,所以不能赋值、没有append()、extend()函数

在这里插入图片描述

切片操作

在这里插入图片描述

合并操作

在这里插入图片描述
在这里插入图片描述

元组和列表的相互转换

在这里插入图片描述

序列类型容器常用函数

在这里插入图片描述
在这里插入图片描述

映射类型 字典

(1)创建字典

在这里插入图片描述

(2)字典的访问

只能通过键访问值,不能通过值取得键

在这里插入图片描述

(3)添加和修改字典元素

字典对象[key] = value
当key存在就是修改,key不存在则是添加

在这里插入图片描述

字典函数

函数名说明
clear ()清除所有元素
copy()复制整个字典
del 对象[key]删除字典对象中键为key的元素
get(key, default)返回键key对应的值,如果字典中不存在key键则返回default
items()返回所有键值对
keys()返回所有键
pop(key, default)返回键key对应的值,并删除该元素,如果字典中不存在key键则返回default
update(dct)将dct的数据更新字典元素
values()返回有所值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

集合

(1)创建集合

格式为:{元素1, 元素2, …} 或 set(可迭代对象)
**注意:**创建空集合只能用set()函数,不能用{}, {}创建的是空字典。

在这里插入图片描述
在这里插入图片描述

创建集合时,其内部的元素不能是 列表/字典/集合 等可变数据
列表不能作为集合的值

在这里插入图片描述

(2)遍历集合

输出顺序不一定和定义顺序相同,因为集合是无序的
在这里插入图片描述

(3)常用集合函数

函数名说明
add(x)添加元素。如果集合中不存在元素x则添加。
clear ()清除所有元素
copy()复制整个集合
discard(x)删除元素。如存在x则删除, 如不存在也不报错
len(s)返回集合s的元素个数
pop()随机返回集合中一个元素,并删除该元素
remove(x)删除元素。如存在x则删除,如不存在则报错
update()将另一个集合元素添加进来

示例
在这里插入图片描述
在这里插入图片描述

pop()函数是随机返回一个元素

在这里插入图片描述

(3)集合运算:并、交、差

运算符说明
S & T交集。返回一个在两个集合S和T中都存在的元素的新集合
ST
S - T差集。返回一个在集合S存在,但在集合T不存在的元素的新集合
S ^ T对称差集。返回一个不在集合S和集合T同时存在的元素的新集合
S == T如果集合S和集合T中元素相同,返回True,否则返回False
S != T如果集合S和集合T中元素不相同,返回True,否则返回False
S <= T子集测试。如果集合S是集合T的子集,则返回True,否则返回False
S < T真子集测试。如果集合S是集合T的真子集,则返回True,否则返回False
S >= T超集测试。如果集合S是集合T的超集,则返回True,否则返回False
S > T真超集测试。如果集合S是集合T的真超集,则返回True,否则返回False

注意:运算符的优先级
算数运算符>关系运算符>逻辑运算符

在这里插入图片描述
在这里插入图片描述

参考资料

B站李老师的 Python编程和数据分析基础

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值