python组合数据类型|朝闻道知识分享大赛

ligesunny 2023-11-20 20:20:44

这是我参加朝闻道知识分享大赛的第二篇文章

组合数据类型

序列

序列是一个用于多个值的连续空间,每个值都对应一个整数的编号,称为索引

正向递增索引

反向递减索引

切片

[start:end:step]

序列相加

序列之间可以使用“+”(加号)进行连接操作。

注意:不同类型的序列不能做连接。

序列重复

使用“*”做“乘法”

成员资格

成员资格指判断一个元素是否包含在序列中,Python中使用运算符“in”来判断。“in”运算符会判断左边的元素是否包含在右边的序列中,如果包含就返回Ture(真),如果不包含则会返回False(假)。

注意:只有当元素的类型和值都完全一致,才算包含。

image-20231112225549933

长度、最大值、最小值、求和

注意:sum函数求和的要求序列的元素必须都是int,sum无法对字符串求和。

image-20231112225459355

函 数功 能
sum()求序列中所有值的和
max()求序列中的最大值
min()求序列中的最小值
len()求序列的长度
str()把序列格式转换为字符串
list()把序列格式转换为列表
set()把序列格式转换为集合
tuple()把序列格式转换为元组
reversed()把序列中的所有元素进行逆序
sorted()把序列中的所有元素进行排序
enumerate()把序列组合成一个索引序列,一般在for循环中
count()序列中出现的总次数
index()序列中第一次出现元素x的位置

列表

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符

更新列表

你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项

删除列表元素

可以使用 del 语句来删除列表的元素

遍历列表

for a in list:
    print(a)
for i in range(0,len(list)):
for index ,item in enumerate(list):

函数

序号函数
1cmp(list1, list2) 比较两个列表的元素
2len(list) 列表元素个数
3max(list) 返回列表元素最大值
4min(list) 返回列表元素最小值
5list(seq) 将元组转换为列表

方法

序号方法
1list.append(obj) 在列表末尾添加新的对象
2list.count(obj) 统计某个元素在列表中出现的次数
3list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj) 将对象插入列表
6[list.pop(index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj) 移除列表中某个值的第一个匹配项
8list.reverse() 反向列表中元素
9list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序

列表排序的两种方式

(1)sort

lst.sort(key=None,reverse=False)

排序在原列表进行

(2) sorted()

sorted(iterable---排序对象,key=None,reverse=False)

列表生成式

list=[expression for item in range]

list=[expression for item in range if condition ]

二维列表的遍历

for row in 二维列表:

for item in row:

pass

创建二维列表

list=[
[]
[]
[]
]

元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

创建元组

1)只需要在括号中添加元素,并使用英文逗号隔开即可。

创建空元组

tup1 = ()

元组中只包含一个元素时,需要在元素后面添加逗号

tup1 = (50,)

2)使用内置函数type()创建

元组名=tupe(序列)

删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

元组的遍历

切片操作

for a in type:
    print(a)
for i in range(0,len(type)):
for index ,item in enumerate(type):

内置函数

Python元组包含了以下内置函数

序号方法及描述
1cmp(tuple1, tuple2) 比较两个元组元素。
2len(tuple) 计算元组元素个数。
3max(tuple) 返回元组中元素最大值。
4min(tuple) 返回元组中元素最小值。
5tuple(seq) 将列表转换为元组。

元组生成式

t=(i for in range(1,4))
print(t)
t=type(t)

字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {}

注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

访问字典里的值

把相应的键放入熟悉的方括弧

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显示删除一个字典用del命令

字典键的特性

字典值可以没有限制地取任何 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

字典内置函数&方法

Python字典包含了以下内置函数:

序号函数及描述
1cmp(dict1, dict2) 比较两个字典元素。
2len(dict) 计算字典元素个数,即键的总数。
3str(dict) 输出字典可打印的字符串表示。
4type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

序号函数及描述
1dict.clear() 删除字典内所有元素
2dict.copy() 返回一个字典的浅复制
3[dict.fromkeys(seq, val]) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
4dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
5dict.has_key(key) 如果键在字典dict里返回true,否则返回false。Python3 不支持。
6dict.items() 以列表返回可遍历的(键, 值) 元组数组
7dict.keys() 以列表返回一个字典所有的键
8dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2) 把字典dict2的键/值对更新到dict里
10dict.values() 以列表返回字典中的所有值
11[pop(key,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12popitem() 返回并删除字典中的最后一对键和值。

字典的遍历

1)遍历key与value的元组

for element in d.items():
    pass

2)分别遍历key和value

for key,value in d.items():
    pass

字典生成式

d={ key:value for item in range}
d={key:value for key,value in zip(lst1,lst2)}

集合

创建集合

1.使用{}直接创建集合

s={element1,element2,....elementN}

2.使用set()创建集合

s=set(可迭代对象)

删除集合

del 集合名

操作符

A&B 交集 A|B 并集 A-B 差集 A^B 补集

相关操作方法

方法描述说明
s. add(x)如果x不在集合s中,则将x添加到集合S
s.remove(x)如果x在集合中,将其删除,如果不在集合中, 程序报错
s.clear()清除集合中所有元素

遍历

for a in s:
    print(a)
for indx,item in enumerate(s):
    print(index,item)

集合的生成式

s={i for i in range(1,10)if i%2==1}
print(s)
...全文
36 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

833

社区成员

发帖
与我相关
我的任务
社区描述
中南民族大学CSDN高校俱乐部聚焦校内IT技术爱好者,通过构建系统化的内容和运营体系,旨在将中南民族大学CSDN社区变成校内最大的技术交流沟通平台。
经验分享 高校 湖北省·武汉市
社区管理员
  • c_university_1575
  • WhiteGlint666
  • wzh_scuec
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎各位加入中南民族大学&&CSDN高校俱乐部社区(官方QQ群:908527260),成为CSDN高校俱乐部的成员具体步骤(必填),填写如下表单,表单链接如下:
人才储备数据库及线上礼品发放表单邀请人吴钟昊:https://ddz.red/CSDN
CSDN高校俱乐部是给大家提供技术分享交流的平台,会不定期的给大家分享CSDN方面的相关比赛以及活动或实习报名链接,希望大家一起努力加油!共同建设中南民族大学良好的技术知识分享社区。

注意:

1.社区成员不得在社区发布违反社会主义核心价值观的言论。

2.社区成员不得在社区内谈及政治敏感话题。

3.该社区为知识分享的平台,可以相互探讨、交流学习经验,尽量不在社区谈论其他无关话题。

试试用AI创作助手写篇文章吧