Python 中常用的数据类型及相关操作详解

news2025/5/19 17:17:29

文章目录

      • 列表(Lists)
        • 创建列表
        • 访问列表元素
        • 添加元素到列表
        • 删除列表元素
        • 切片(Slicing)
        • 其他常用操作
      • 元组(Tuples)
        • 创建元组
        • 访问元组元素
        • 元组长度
        • 其他常用操作
      • 字符串(Strings)
        • 创建字符串
        • 字符串长度
        • 访问字符串字符
        • 字符串格式化
        • 其他常用操作
      • 集合(Sets)
        • 创建集合
        • 集合长度
        • 检查元素是否在集合中
        • 添加元素到集合
        • 删除集合元素
        • 集合操作
      • 字典(Dictionaries)
        • 创建字典
        • 访问字典元素
        • 添加或修改字典元素
        • 删除字典元素
        • 循环遍历字典
        • 其他常用操作
      • 总结

Python 作为一门高级编程语言,提供了多种不同的数据类型,包括列表、元组、字符串、集合和字典等。这些数据类型在 Python 中被广泛使用,因此熟悉它们的特点和相关操作非常重要。
本文将详细讲解 Python 中的各种数据类型,包括它们的特性、常用操作、常见应用场景以及与其相关的其他概念。

列表(Lists)

在这里插入图片描述

列表是 Python 中最常用的数据类型之一,用于存储具有序号的元素。列表使用方括号([])定义,并可以包含任何类型的元素。

创建列表

你可以使用以下语法创建一个空列表:

my_list = []

也可以使用以下语法创建包含初始值的列表:

my_list = [1, 2, 3, 'apple', 'banana']

访问列表元素

你可以使用下标(索引)来访问列表元素。Python 中的下标从0开始。例如,以下是一个包含三个元素的列表:

my_list = ['apple', 'banana', 'cherry']

你可以使用以下语法来访问这个列表中的元素。

print(my_list[0])  # 输出 'apple'

也可以使用负数下标访问列表的元素:

print(my_list[-1])  # 输出 'cherry'

需要注意的是,如果使用超出范围的下标来访问列表元素,Python 将引发 IndexError 错误。

添加元素到列表

你可以使用 append() 方法将元素添加到列表末尾:

my_list = ['apple', 'banana', 'cherry']
my_list.append('orange')
print(my_list)  # 输出 ['apple', 'banana', 'cherry', 'orange']

也可以使用 insert() 方法在列表中的特定位置添加元素:

my_list = ['apple', 'banana', 'cherry']
my_list.insert(1, 'orange')
print(my_list)  # 输出 ['apple', 'orange', 'banana', 'cherry']

删除列表元素

你可以使用 remove() 方法从列表中删除元素:

my_list = ['apple', 'banana', 'cherry']
my_list.remove('banana')
print(my_list)  # 输出 ['apple', 'cherry']

你也可以使用 pop() 方法从列表中删除指定位置的元素:

my_list = ['apple', 'banana', 'cherry']
my_list.pop(1)
print(my_list)  # 输出 ['apple', 'cherry']

切片(Slicing)

切片是指从一个序列中获取子序列的操作。在 Python 中,通过设置开始和结束位置来获取子序列。例如,假设我们有以下列表:

my_list = ['apple', 'banana', 'cherry', 'orange', 'pear']

你可以使用以下语法获取从第二个元素到第四个元素的子序列:

print(my_list[1:4]) # 输出 ['banana', 'cherry', 'orange']

切片操作也可以用于字符串、元组和其他序列类型。

其他常用操作

以下是一些其他常用的列表操作:

  • 使用 sort() 方法对列表进行排序。
  • 使用 reverse() 方法反转列表中的元素顺序。
  • 使用 len() 方法获取列表中元素的数量。
  • 使用 in 关键字检查列表中是否存在某个元素。

元组(Tuples)

在这里插入图片描述

元组和列表类似,都是有序的集合。与列表不同的是,元组是不可变的,一旦创建就不能被修改、添加或删除。元组使用圆括号(())定义。

创建元组

你可以通过以下方法创建一个包含初始值的元组:

my_tuple = (1, 2, 3)  # 包含三个整数的元组
my_tuple = ('apple', 'banana', 'cherry')  # 包含三个字符串的元组

访问元组元素

你可以使用下标(索引)来访问元组中的元素。例如,以下是一个包含三个元素的元组:

my_tuple = ('apple', 'banana', 'cherry')

你可以使用以下语法来访问这个元组中的元素。

print(my_tuple[0])  # 输出 'apple'

元组长度

你可以使用 len() 函数获得元组的长度:

my_tuple = ('apple', 'banana', 'cherry')
print(len(my_tuple))  # 输出 3

其他常用操作

以下是一些其他常用的元组操作:

  • 可以使用加号运算符 + 实现元组的拼接。
  • 可以使用乘号运算符 * 复制元组。

字符串(Strings)

字符串是 Python 中最基本的数据类型之一,表示一系列字符。字符串在 Python 中是不可变的。字符串使用单引号(')或双引号(")括起来。

创建字符串

你可以使用以下语法创建一个包含初始值的字符串:

my_string = 'hello world'  # 包含一个字符串的字符串

字符串长度

你可以使用 len() 函数获得字符串的长度:

my_string = 'hello world'
print(len(my_string))  # 输出 11

访问字符串字符

你可以使用下标(索引)来访问字符串中的字符。例如,以下是一个包含一个字符串的变量。

my_string = 'hello world'

你可以使用以下语法来访问这个字符串中的字符。

print(my_string[0])  # 输出 'h'

字符串格式化

字符串格式化是指将变量的值插入到字符串中。在 Python 中,可以使用以下方法来格式化字符串:

name = 'Alice'
age = 23
print('My name is %s and I am %d years old.' % (name, age))
# 输出 My name is Alice and I am 23 years old.

在这个例子中,%s%d 是占位符,分别表示字符串和整数类型的变量。可以在字符串末尾使用 % 操作符,后面跟着需要插入的变量列表。

其他常用操作

以下是一些其他常用的字符串操作:

  • 可以使用加号运算符 + 将字符串拼接在一起。
  • 可以使用乘号运算符 * 复制字符串。

集合(Sets)

集合是 Python 中另一种常用的数据类型,它是一个无序的集合,没有重复元素。集合使用花括号({})定义,并用逗号分隔元素。

创建集合

你可以通过以下方法创建一个空集合:

my_set = set()

也可以使用以下语法创建包含初始值的集合:

my_set = {1, 2, 3}  # 包含三个整数的集合
my_set = {'apple', 'banana', 'cherry'}  # 包含三个字符串的集合

集合长度

你可以使用 len() 函数获得集合的长度:

my_set = {'apple', 'banana', 'cherry'}
print(len(my_set))  # 输出 3

检查元素是否在集合中

你可以使用 in 关键字检查集合中是否包含特定元素:

my_set = {'apple', 'banana', 'cherry'}
if 'apple' in my_set:
    print('Yes')
else:
    print('No')

添加元素到集合

你可以使用 add() 方法将元素添加到集合中:

my_set = {'apple', 'banana', 'cherry'}
my_set.add('orange')
print(my_set)  # 输出 {'apple', 'banana', 'cherry', 'orange'}

删除集合元素

你可以使用 remove() 方法从集合中删除元素:

my_set = {'apple', 'banana', 'cherry'}
my_set.remove('banana')
print(my_set)  # 输出 {'apple', 'cherry'}

需要注意的是,如果使用不存在于集合中的元素作为参数调用 remove() 方法,Python 将引发 KeyError 错误。

你也可以使用 discard() 方法从集合中删除元素。与 remove() 方法不同的是,如果元素不存在于集合中,discard() 方法不会引发错误。

集合操作

集合支持多种操作,包括并集、交集和差集等。以下是一些常见的集合操作:

  • 使用 union() 方法计算两个集合的并集。
  • 使用 intersection() 方法计算两个集合的交集。
  • 使用 difference() 方法计算两个集合的差集。
  • 使用 symmetric_difference() 方法计算两个集合的对称差集(即只在一个集合中出现的元素)。

字典(Dictionaries)

在这里插入图片描述

字典是 Python 中极其有用的数据类型之一,它存储键值对。字典使用花括号({})定义,并用逗号分隔键值对。

创建字典

你可以通过以下方法创建一个空字典:

my_dict = {}

也可以使用以下语法创建包含初始值的字典:

my_dict = {'name': 'Alice', 'age': 23}

访问字典元素

你可以使用方括号([])和键来访问字典中的值。例如,以下是一个包含两个键值对的字典:

my_dict = {'name': 'Alice', 'age': 23}

你可以使用以下语法来访问这个字典中的元素。

print(my_dict['name'])  # 输出 'Alice'

添加或修改字典元素

你可以使用以下语法添加或修改字典中的元素:

my_dict = {'name': 'Alice', 'age': 23}
my_dict['email'] = 'alice@example.com'
my_dict['age'] = 24
print(my_dict)  # 输出 {'name': 'Alice', 'age': 24, 'email': 'alice@example.com'}

删除字典元素

你可以使用 del 关键字删除字典中的元素:

my_dict = {'name': 'Alice', 'age': 23}
del my_dict['age']
print(my_dict)  # 输出 {'name': 'Alice'}

你也可以使用 pop() 方法删除指定键的元素:

my_dict = {'name': 'Alice', 'age': 23}
my_dict.pop('age')
print(my_dict)  # 输出 {'name': 'Alice'}

循环遍历字典

循环遍历字典可以使用以下语法:

my_dict = {'name': 'Alice', 'age': 23}
for key in my_dict:
    print(key, my_dict[key])

这将逐个输出字典中的键和对应的值。

其他常用操作

以下是一些其他常用的字典操作:

  • 使用 keys() 方法获取字典中所有的键。
  • 使用 values() 方法获取字典中所有的值。
  • 使用 items() 方法获取字典中所有的键值对。

总结

Python 中有多种不同的数据类型,包括列表、元组、字符串、集合和字典等。要熟悉它们的特点和相关操作非常重要。在本文中,我们简要介绍了每个数据类型的特点、创建方法和常见操作。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/662751.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低成本渲染提速!掌握这6点,不换电脑也能迅速提升渲染速度

之前一期给大家分享过影响渲染速度的三个“大坑”: 渲染干货 | 渲染速度太慢?很有可能你是踩了这些坑https://blog.csdn.net/LhcyyVSO/article/details/131191936 本期再来谈谈如何在不换电脑配置的情况下,以更低的成本提升你的渲染速度,毕…

无人机电池能不能上高铁以及什么型号的电池可以上高铁

无人机电池能不能上高铁以及什么型号的电池可以上高铁 高铁关于电池的限制电池参数介绍可上高铁的无人机锂电池6S电池3S电池 高铁关于电池的限制 2022年7月1日起施行的《铁路旅客禁止、限制携带和托运物品目录》规定,充电宝、锂电池单块额定能量不超过100Wh 电池参数介绍 明…

致创业者,亚马逊云科技中国峰会“创业者之日”邀您相聚

IDC预测,到2025年全球数据规模将达到175 ZB,这为人工智能模型训练提供了海量数据资源,全球AI产业迅速发展为创业者们带来了巨大的机遇,但也提出了全新的挑战。新的市场、高效的工具和智能的资源,开辟了创新的领域和商业…

和鲸社区数据分析每周挑战【第九十四期:中风患病预测分析】

和鲸社区数据分析每周挑战【第九十四期:中风患病预测分析】 文章目录 和鲸社区数据分析每周挑战【第九十四期:中风患病预测分析】一、前言1、背景描述2、数据说明3、数据集预览 二、数据读取和数据预处理三、探索性数据分析1、绘制相关性矩阵2、中风患病…

1 os|linxu常用命令|vim编辑器

文章目录 oslinux 常用命令用户配置切换用户添加用户设置(修改)密码删除用户总结 目录以及文件操作查看文件或者目录改变工作目录显示当前工作目录创建目录删除空目录拷贝文件或者目录移动文件或者目录删除文件或者目录修改目录或者文件的权限文字设定法…

年过30的我,今年也遇到了职场危机 ...

在软件测试行业摸爬滚打这么多年,即将人到中年,也会和大家一样面临转型或者跳槽的问题。这里总结了一下自我的看法。 对于找工作这个事情,有这么个普遍现象。工作供求无法匹配~ 1、对于测试招聘者,特别是一、二线互联网公司的招…

12.动态规划:子集状压DP和位运算

参考: 0x3f:从集合论到位运算,常见位运算技巧分类总结!https://leetcode.cn/circle/discuss/CaOJ45/ 状态压缩DP详细讲解 https://zhuanlan.zhihu.com/p/599427567 【动态规划学习】状压/子集 DP https://leetcode.cn/circle/arti…

zabbix-4-触发器

4.触发器 4.1什么是触发器 当监控的值发现变化后,对应的值不符合预期,则应该通过触发器通知管理人员介入; 比如:监控TCP的80端口,如果存活则符合预期,如果不存活则不符合预期,应该通过触发器通…

从一个线上 Android Bug 回看 Fragment 的基础知识

作者:Kotlin上海用户组 公司的项目在最近遇到了一个与 Fragment 有关的线上 crash,导致这个问题的根本原因比较复杂,导致修复方案的可选项非常有限,不过这个问题的背景、crash 点,以及修复过程都非常有趣,值…

unittest教程__Python+unittest+ddt_实现数据驱动测试(7)

我们设计测试用例时,会出现测试步骤一样,只是其中的测试数据有变化的情况,比如测试登录时的账号密码。这个时候,如果我们依然使用一条case一个方法的话,会出现大量的代码冗余,而且效率也会大大降低。此时&a…

知网英语类专刊《中学生英语》是正规刊物吗?

知网英语类专刊《中学生英语》是正规刊物吗? 《中学生英语》是经国家新闻出版署批准在国内公开发行的教育类学术期刊,由教育部主管,华中师范大学主办的国家级期刊,是正规刊物。 《中学生英语》是中国外语教学期刊质量检测网络入…

南京贸易企业增值税居高不下,该如何解决?

南京贸易企业增值税居高不下,该如何解决? 《税筹顾问》专注于园区招商,您的贴身节税小能手,合理合规节税! 南京作为省会城市,近年来由于芯片、生物医药等产业的发展而跻身前十,随着它在教育、军…

【探索 Kubernetes|作业管理篇 系列 11】控制器的核心功能

前言 大家好,我是秋意零。 上一篇结束了 Pod 对象的内容。 今天要探讨的内容是 “控制器”,它是 Kubernetes 编排最核心的功能。理解了 “控制器”,你就能理解 Deployment、StatefulSet、DaemontSet、Job、CroJob 控制器对象。 最近搞了一…

使用parcel搭建threejs开发环境

一、什么是parcel parcel官网:https://www.parceljs.cn/ Parcel是一个快速、零配置的Web应用打包器,可将JavaScript、CSS、HTML和图像等静态文件打包到一个捆绑文件中。它的主要目标是简化Web应用程序的打包过程,使开发人员可以更快速地创建…

测试开发工是做什么的?2023年往后测试之路发展前景?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 现在公司企业对测…

Linux目录分类说明

在Linux根目录下一般包括如下目录,这里就这些目录的特点做一些归纳。(centos8为例) 一、/var目录 /var目录是一个包含经常变化的文件的目录。它是Variable的缩写,也有些人解释为Versioned Archives。通常包含以下内容:…

Groovy基础教程

一、概述 Groovy是一种基础JVM(Java虚拟机)的敏捷开发语言,他结合了Python、Ruby和Smalltalk的特性,Groovy代码能够于Java代码很好的结合,也能用于扩展现有代码。由于其运行在JVM的特性,Groovy可以使用其他Java语言编写法的库。 …

电源ATE测试系统-电源模块自动化测试软件ATECLOUD-Power

ATECLOUD-Power测试应用场景 研发测试、产线测试、老化测试、一测二测等 ATECLOUD-Power解决测试痛点 ☁ 人工手动测试,效率低,需要提高测试效率和准确性; ☁ 测试产品种类繁多,测试方法多样,客户需要灵活的解决方案…

六、SpringBoot集成elasticsearch

目录 官网API介绍 1、新建maven项目 2、检查elasticsearch依赖的版本 3、配置RestHighLevelClient对象 4、使用springboot-test测试API的使用 官网API介绍 Java API Client https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/index.html …

TypeScript基础使用方法

Author: 德玛玩前端 Date: 2023-06-07 TypeScript 一、Typescript介绍 1.1、TypeScript产生的原因 旧JS是弱类型语言,一个变量先后可以保存不同类型的数据,所以不可靠。旧JS是解释执行语言,一边解释,一边执行,一些低…