Python 常用数据结构

本文介绍了Python的四种基本数据结构:列表、元组、字典和集合。列表是可变的有序元素集合,支持切片、修改和追加操作;元组与列表类似但不可变;字典是键值对的集合,键不可变;集合存储不重复元素,无顺序且支持数学集合操作。
摘要由CSDN通过智能技术生成

Python 内置的基本数据机构有4种:列表(list),元组(tuple),字典(dict)和集合(set)。

1  列表

列表是一个有序的元素类型,类似其他语言中的数组,其中的元素可以是任何Python 支持的数据类型,比如字符串、逻辑型、整数、浮点等。与其他语言不同的是,同一个列表里的元素可以是不同的数据类型。

1.1 列表的创建和访问

请你在python 自带的编辑器中尝试运行以下代码:

#python
my_list1 = ["123",123,True,56.7,12]
print("第一个元素是:",my_list1[0])
print("第二个元素是:",my_list1[1])
print("第三个元素是:",my_list1[2])
print("第四个元素是:",my_list1[3])
print("最后一个元素是:",my_list1[-1])

代码1

list 直接使用方括号定义、等号赋值的同时来创建,不同元素间用逗号分隔。

如果想要访问列表中的元素,可以采用 列表名[元素序号] 的方式对其中元素进行访问,元素序号是从 开始。Python还可以使用 负数序号 进行访问,例如 代码1 中输出最后一个元素 使用的元素序号为 -1。

1.2 列表的切取访问

在实践前,先来了解切取访问的常用格式:

“列表名[:n]”,表示切取列表的前n个元素;

“列表名[-n:]”,表示切取列表的后n个元素;

“列表名[n:m]”,表示切取列表的第n+1个元素一直到第m个元素。

仍然以 代码1 为例:

#python3
first_three = my_list1[:3]
last_three = my_list1[-3:]
without_first_last = my_list1[1,-1]

 代码2

请在解释器中运行,查看一下运行结果。

需要注意的是,使用切片操作返回值是一个新的列表。

1.3 列表的修改、追加和插入

#python3
my_list1[0] = 0
print("修改后第一个元素列表为",my_list1)

my_list1.append("haha")
print("向列表最后追加一个元素,列表为", my_list1)

my_list1.insert(1,"hello")
print('向列表第2个位置添加一个元素,列表为', my_list1)

代码3

在代码3中,直接使用元素序号赋值新的值来覆盖原先的值,还可以使用 append 方法想最后一个位置追加新元素,通过insert 方法向指定位置添加新的元素。

2. 元组

元组与列表类似,区别在于元组不允许被修改,只能被访问。元组是通过圆括号或无括号来定义,元素之间通过逗号分隔。元素的访问格式与列表类似,在这里不重复演示,请读者自行尝试。

#python3
my_tuple = (1,2,3)
my_tuple1 = 4,5
print(“第一个元组为”,my_tuple)
print("第二个元组为",my_tuple1)

代码4

3. 字典

字典结构由

{key1:value1,key2:value2, ...} 的形式来定义。字典中的每一个元素都由键和值。

3.1 字典的定义和应用

#python3
dict_score = {"good":90,"soso":70,"bad":50}
my_score = dict_score["good"]
print("我的成绩是",my_score)
his_score = dict_score["soso"]
print("他的成绩是",his_score)

从上述代码中可以看到访问字典的格式是“字典名[键]”,字典中的元素也确实没有顺序的定义。

字典中的键不可以重复,也不可以修改。凡是可能被修改的对象,如列表、字典、集合都不能作为键。字典中的值并不要求是不可重复的。

3.2 字典的修改

#python3
dict_score["good"] = 95
print("修改后的字典good值为",dict_score["good"])

dict_score["excellent"] = 100

#输出字典的所有键
dict_score.keys()

#输出字典所有的值
dict_score.values()


#输出字典所有的元素
dict_score.items()

4 集合

集合中存放不重复的元素,且没有顺序的定义。集合也是用大括号界定的,但其中由逗号分隔的各个元素是单个的、不可变的数据,所以与字典相比较,集合相当于只有键,没有值。集合数据结构主要支持数学上的集合操作。

#python3

my_set = {"set","123",123,True}
print(my_set)

my_set.add(5)

my_set.remove("123")

集合中的元素是不能修改的,也没有顺序定义,不能使用序号访问元素,要追加或删除其中元素时,需调用集合结构中的add函数或remove函数,并在函数中直接指明元素内容的本身。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值