当前位置: 首页 > news >正文

Python的秘密基地--[章节2]Python核心数据结构

第2章:Python核心数据结构

Python中的数据结构提供了强大的工具来存储和操作数据。理解这些数据结构是Python编程的基础。


2.1 列表(List)

2.1.1 什么是列表

列表是一种有序的可变序列,用于存储一组数据。它支持多种类型的数据混合存储。

# 创建一个列表
my_list = [1, 2, 3, 4, 5]
print(my_list)  # 输出: [1, 2, 3, 4, 5]
2.1.2 列表常用操作
操作语法示例
访问元素list[index]my_list[0] -> 1
添加元素list.append(value)my_list.append(6)
插入元素list.insert(index, value)my_list.insert(2, 99)
删除元素list.remove(value)my_list.remove(3)
获取长度len(list)len(my_list) -> 5
切片操作list[start:end:step]my_list[1:4] -> [2, 3, 4]
排序list.sort()my_list.sort()
2.1.3 示例代码
# 创建和操作列表
my_list = [10, 20, 30, 40]
my_list.append(50)  # 添加元素
my_list.remove(20)  # 删除元素
print(my_list)      # 输出: [10, 30, 40, 50]

2.2 元组(Tuple)

2.2.1 什么是元组

元组是不可变的有序序列,一旦创建就不能修改。

# 创建一个元组
my_tuple = (1, 2, 3)
print(my_tuple)  # 输出: (1, 2, 3)
2.2.2 元组的特点
  • 不可变性:元素不可更改,但可以包含可变对象。
  • 支持索引和切片
2.2.3 示例代码
# 元组的访问和切片
my_tuple = (10, 20, 30, 40)
print(my_tuple[1])       # 输出: 20
print(my_tuple[1:3])     # 输出: (20, 30)

2.3 集合(Set)

2.3.1 什么是集合

集合是一个无序且不重复的元素集合,适合去重和集合运算。

# 创建一个集合
my_set = {1, 2, 3, 3, 4}
print(my_set)  # 输出: {1, 2, 3, 4}
2.3.2 常用操作
操作语法示例
添加元素set.add(value)my_set.add(5)
删除元素set.remove(value)my_set.remove(3)
并集`set1set2`
交集set1 & set2{1, 2} & {2, 3} -> {2}
差集set1 - set2{1, 2} - {2, 3} -> {1}
2.3.3 示例代码
# 集合运算
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2)  # 并集: {1, 2, 3, 4, 5}
print(set1 & set2)  # 交集: {3}
print(set1 - set2)  # 差集: {1, 2}

2.4 字典(Dictionary)

2.4.1 什么是字典

字典是键值对的无序集合,每个键是唯一的。

# 创建一个字典
my_dict = {"name": "Alice", "age": 25}
print(my_dict)  # 输出: {'name': 'Alice', 'age': 25}
2.4.2 字典常用操作
操作语法示例
访问值dict[key]my_dict["name"] -> Alice
添加键值对dict[key] = valuemy_dict["city"] = "NY"
删除键值对del dict[key]del my_dict["age"]
获取所有键dict.keys()my_dict.keys()
获取所有值dict.values()my_dict.values()
2.4.3 示例代码
# 字典操作
my_dict = {"name": "Alice", "age": 25}
my_dict["city"] = "New York"  # 添加新键值对
print(my_dict["name"])        # 输出: Alice
del my_dict["age"]            # 删除键值对
print(my_dict)                # 输出: {'name': 'Alice', 'city': 'New York'}

2.5 字符串处理

2.5.1 字符串基础

字符串是不可变的字符序列。

# 创建字符串
my_string = "Hello, Python!"
print(my_string)  # 输出: Hello, Python!
2.5.2 常用操作
操作语法示例
拼接字符串str1 + str2"Hello, " + "Python!" -> “Hello, Python!”
替换str.replace(old, new)"Python".replace("P", "J") -> “Jython”
分割str.split(separator)"a,b,c".split(",") -> [‘a’, ‘b’, ‘c’]
转换大小写str.upper(), str.lower()"abc".upper() -> “ABC”
2.5.3 示例代码
# 字符串操作
text = "Python is fun!"
print(text.upper())          # 输出: PYTHON IS FUN!
print(text.replace("fun", "awesome"))  # 输出: Python is awesome!
总结

请看下一篇

相关文章:

Python的秘密基地--[章节2]Python核心数据结构

第2章:Python核心数据结构 Python中的数据结构提供了强大的工具来存储和操作数据。理解这些数据结构是Python编程的基础。 2.1 列表(List) 2.1.1 什么是列表 列表是一种有序的可变序列,用于存储一组数据。它支持多种类型的数据…...

【Electron学习笔记(三)】Electron的主进程和渲染进程

Electron的主进程和渲染进程 Electron的主进程和渲染进程前言正文1、主进程2、渲染进程3、Preload 脚本3.1 在项目目录下创建 preload.js 文件3.2 在 main.js 文件下创建路径变量并将 preload.js 定义为桥梁3.3 在 preload.js 文件下使用 electron 提供的contextBridge 模块3.4…...

[免费]SpringBoot+Vue景区订票(购票)系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue大景区订票(购票)系统,分享下哈。 项目视频演示 【免费】SpringBootVue景区订票(购票)系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 现代经济快节奏发展以及不断完善升级的信息…...

idea_工程与模块管理

module相关操作 项目结构新建module移除模块删除模块导入模块 项目结构 层级关系 project(工程) - module(模块) - package(包) - class(类) 在 IntelliJ IDEA 中Project是最顶级的结构单元 ,然后就是Module。目前,主流的大型项目结构基本都是多Module…...

A02、Java 设计模式优化

1、单例模式 1.1、什么是单例模式 它的核心在于,单例模式可以保证一个类仅创建一个实例,并提供一个访问它的全局访问点。该模式有三个基本要点:一是这个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向…...

jdk8没有Buffer.put()

在Java中,Buffer是一个抽象类,它定义了缓冲区的通用行为。不过,Buffer本身并没有直接提供put()方法。put()方法是在Buffer的子类中定义的,比如ByteBuffer、CharBuffer、ShortBuffer、IntBuffer、LongBuffer、FloatBuffer和DoubleB…...

Artec Leo:航海设备维护的便携式3D扫描利器【沪敖3D】

挑战:海军服务提供商USP Maritime需要CAD数据来执行维修和改装任务,特别是在偏远地区的任务,以及原始设计丢失的情况下。 解决方案:Artec Leo, Artec Studio, Autodesk Inventor 效果:高精度船舶组件和船坞机械模型&…...

HCIA笔记6--路由基础

0. 概念 自治系统:一个统一管理的大型网络,由路由器组成的集合。 路由器隔离广播域,交换机隔离冲突域。 1.路由器工作原理 路由器根据路由表进行转发数据包; 路由表中没有路由,直接丢弃该数据包路由表中只有一条路…...

说说Elasticsearch拼写纠错是如何实现的?

大家好,我是锋哥。今天分享关于【说说Elasticsearch拼写纠错是如何实现的?】面试题。希望对大家有帮助; 说说Elasticsearch拼写纠错是如何实现的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Elasticsearch 中&…...

Ubuntu20.04运行R-VIO2

目录 1.环境配置2.构建项目3. 运行 VIO 模式4.结果图 1.环境配置 CMakeLists.txt中 C 使用 14、opencv使用4 2.构建项目 克隆代码库: 在终端中执行以下命令克隆项目:git clone https://github.com/rpng/R-VIO2.git编译项目: 使用 catkin_m…...

【软件项目测试文档大全】软件测试方案,验收测试计划,验收测试报告,测试用例,集成测试,测试规程和指南,等保测试(Word原件)

1. 引言 1.1. 编写目的 1.2. 项目背景 1.3. 读者对象 1.4. 参考资料 1.5. 术语与缩略语 2. 测试策略 2.1. 测试完成标准 2.2. 测试类型 2.2.1. 功能测试 2.2.2. 性能测试 2.2.3. 安全性与访问控制测试 2.3. 测试工具 3. 测试技术 4. 测试资源 4.1. 人员安排 4.…...

Kubernetes集群操作

查看集群信息: kubectl get nodes 删除节点 (⽆效且显示的也可以删除) 后期如果 要删除某个节点,为了不增加其他节点的访问压力,先增加一个节点,再删除要删除的节点 语法 :kubect delete…...

分布式事务调研

目录 需求背景: 本地事务 分布式基本理论 1、CAP 定理 2、BASE理论 分布式事务方案 #2PC #1. 运行过程 #1.1 准备阶段 #1.2 提交阶段 #2. 存在的问题 #2.1 同步阻塞 #2.2 单点问题 #2.3 数据不一致 #2.4 太过保守 3PC #本地消息表 TCC TCC原理 …...

Webpack 的构建流程

Webpack 的构建流程可以概括为以下几个步骤: 1. 初始化: Webpack 读取配置文件(webpack.config.js),合并默认配置和命令行参数,初始化Compiler对象。 2. 构建依赖图: 从入口文件开始递归地分…...

Cesium 当前位置矩阵的获取

Cesium 位置矩阵的获取 在 3D 图形和地理信息系统(GIS)中,位置矩阵是将地理坐标(如经纬度)转换为世界坐标系的一种重要工具。Cesium 是一个强大的开源 JavaScript 库,用于创建 3D 地球和地图应用。在 Cesi…...

ubuntu24.04 python环境

ubuntu24.04 python环境 0.引言1.使用整理 0.引言 新系统安装依赖库时报错: pip3installrequirements.txterror:externally−managed−environmentThisenvironmentisexternallymanaged╰–>ToinstallPythonpackagessystem−wide,tryaptinstallpython3−xyz,whe…...

YOLO系列论文综述(从YOLOv1到YOLOv11)【第9篇:YOLOv7——跨尺度特征融合】

YOLOv7 1 摘要2 网络架构3 改进点4 和YOLOv4及YOLOR的对比 YOLO系列博文: 【第1篇:概述物体检测算法发展史、YOLO应用领域、评价指标和NMS】【第2篇:YOLO系列论文、代码和主要优缺点汇总】【第3篇:YOLOv1——YOLO的开山之作】【第…...

Elasticearch索引mapping写入、查看、修改

作者:京东物流 陈晓娟 一、ES Elasticsearch是一个流行的开源搜索引擎,它可以将大量数据快速存储和检索。Elasticsearch还提供了强大的实时分析和聚合查询功能,数据模式更加灵活。它不需要预先定义固定的数据结构,可以随时添加或修…...

【大模型微调】一些观点的总结和记录

垂直领域大部分不用保持通用能力的,没必要跟淘宝客服聊天气预报,但是主要还是领导让你保持 微调方法没有大变数了,只能在数据上下功夫,我能想到的只有提高微调数据质量。 sft微调的越多,遗忘的越多. 不过对于小任务,rank比较低(例如8,16)的任务,影响还是有有限的。一…...

Vue 3 Hooks 教程

Vue 3 Hooks 教程 1. 什么是 Hooks? 在 Vue 3 中,Hooks 是一种组织和复用组件逻辑的强大方式。它们允许您将组件的状态逻辑提取到可重用的函数中,从而简化代码并提高代码的可维护性。 2. 基本 Hooks 介绍 2.1 ref 和 reactive 这两个函数…...

pandas数据处理及其数据可视化的全流程

Pandas数据处理及其可视化的全流程是一个复杂且多步骤的过程,涉及数据的导入、清洗、转换、分析、可视化等多个环节。以下是一个详细的指南,涵盖了从数据准备到最终的可视化展示的全过程。请注意,这个指南将超过4000字,因此请耐心…...

docker 在ubuntu系统安装,以及常用命令,配置阿里云镜像仓库,搭建本地仓库等

1.docker安装 1.1 先检查ubuntu系统有没有安装过docker 使用 docker -v 命令 如果有请先卸载旧版本,如果没有直接安装命令如下: 1.1.0 首先,确保你的系统包是最新的: 如果是root 权限下面命令的sudo可以去掉 sudo apt-get upda…...

torch.maximum函数介绍

torch.maximum 函数介绍 定义:torch.maximum(input, other) 返回两个张量的逐元素最大值。 输入参数: input: 张量,表示第一个输入。other: 张量或标量,表示第二个输入。若为张量,其形状需要能与 input 广播。输出&a…...

Java面试之多线程并发篇(9)

前言 本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!引用类型有哪些?有什么区别?说说你对JMM内存模型的理解?为什么需要JMM?多线程有什么用?似乎有点模糊了,那…...

Java全栈:超市购物系统实现

项目介绍 本文将介绍如何使用Java全栈技术开发一个简单的超市购物系统。该系统包含以下主要功能: 商品管理用户管理购物车订单处理库存管理技术栈 后端 Spring Boot 2.7.0Spring SecurityMyBatis PlusMySQL 8.0Redis前端 Vue.js 3Element PlusAxiosVuex系统架构 整体架构 …...

1.1 数据结构的基本概念

1.1.1 基本概念和术语 一、数据、数据对象、数据元素和数据项的概念和关系 数据:是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。 数据是计算机程序加工的原料。 数据对象:是具有相同性质的数据元素的集合&…...

深度学习:GPT-2的MindSpore实践

GPT-2简介 GPT-2是一个由OpenAI于2019年提出的自回归语言模型。与GPT-1相比,仍基于Transformer Decoder架构,但是做出了一定改进。 模型规格上: GPT-1有117M参数,为下游微调任务提供预训练模型。 GPT-2显著增加了模型规模&…...

【Oracle11g SQL详解】ORDER BY 子句的排序规则与应用

ORDER BY 子句的排序规则与应用 在 Oracle 11g 中,ORDER BY 子句用于对查询结果进行排序。通过使用 ORDER BY,可以使返回的数据按照指定的列或表达式以升序或降序排列,便于数据的分析和呈现。本文将详细讲解 ORDER BY 子句的规则及其常见应用…...

YOLO系列论文综述(从YOLOv1到YOLOv11)【第15篇(完结):讨论和未来展望】

总结 0 前言1 YOLO与人工通用智能(AGI)2 YOLO作为“能够行动的神经网络”3 具身人工智能(EAI)4 边缘设备上的YOLO5 评估统计指标的挑战6 YOLO与环境影响 YOLO系列博文: 【第1篇:概述物体检测算法发展史、YO…...

Java设计模式 —— 【创建型模式】原型模式(浅拷贝、深拷贝)详解

文章目录 前言原型模式一、浅拷贝1、案例2、引用数据类型 二、深拷贝1、重写clone()方法2、序列化 总结 前言 先看一下传统的对象克隆方式: 原型类: public class Student {private String name;public Student(String name) {this.name name;}publi…...

wordpress怎么更改账号密码/广州顶正餐饮培训学校

1、形参:方法定义的时候,声明的小括号内的参数实参:方法调用的时候,实际传递给形参的数据或值。2、Java参数传递的机制规则参数 —》基本数据类型—》实参真实存储的数据值参数 —》引用数据类型—》实参存储数据的地址值3、值传递…...

网站建设大作业选题/开发外包网站

这几天在学校呆着,大家遇到了一些网络问题。在这里集中写一下。 客户端打不开 学校的客户端打不开,症状是双击之后,没有反应。这种问题有两种方法:1.重启电脑。一般这方法可以奏效,万能的重启。2.卸掉客户端&#xff0…...

网站设计的基本步骤和方法/广州网站优化

在我们登录一些网站、应用、游戏时,见到动态验证码的频率越来越多了。最常见的应该就是Google Authenticator,暴雪安全令之类的应用,通过不断变换的动态数字来最大限度的保证账号的数据安全。今天 Gitee 推荐的这款开源项目,是依托…...

建设银行扬中网站/上海网站建设哪家好

String是Java.lang包下的final类&#xff0c;其值是不可以改变的。String类实现了java.io.Serializable,Comparable<String>,CharSequence 这三个接口。 java.io.Serializable 接口是 序列化接口&#xff0c;实现此接口的类&#xff0c;可以序列化和反序列化此类对象。 C…...

国内网站设计案例/google官方下载

本文系图技术在大型、复杂基础设施之中 SRE/DevOps 的实践参考&#xff0c;并以 OpenStack 系统之上的图数据库增强的运维案例为例&#xff0c;揭示图数据库、图算法在智能运维上的应用。本文所有示例代码开源。 最近&#xff0c;有些尚未使用过图技术、DevOps/Infra 领域的工程…...

wordpress err_too_many_redirects/交换友情链接吧

【题目描述】https://www.luogu.com.cn/problem/P1048https://www.acwing.com/problem/content/description/425/【题目描述】 辰辰是个天资聪颖的孩子&#xff0c;他的梦想是成为世界上最伟大的医师。 为此&#xff0c;他想拜附近最有威望的医师为师。 医师为了判断他的资质&a…...