【Python数据结构与判断7/7】数据结构小结

news2024/11/17 11:50:12

目录

序言

整体回忆

定义方式

访问元素

访问单个元素

访问多个与元素

修改元素

添加元素

列表里添加元素

字典里添加元素

删除元素

in运算符

实战案例

总结


序言

        今天将对前面学过的三种数据结构:元组(tuple)、列表(list)和字典(dict),进行一个复习小结。

整体回忆

        先来整体回忆一下这三种数据结构的基本概念~

        元组能存储多个不同类型的数据,且是有序的。但它是不可变的,因此不能进行修改、删除或添加元素的操作。

        列表和元组非常相似,唯一的不同是列表的元素是可以修改的。

        字典的元素以键值对(key-value)的形式保存,是无序的。和列表一样,字典可以修改。

定义方式

        定义元组、列表和字典的方式如图所示,分别使用小括号 () 、方括号 [] 和花括号 {} 
三种数据结构的每一项元素都是由逗号分隔开

访问元素

访问单个元素

        元组和列表使用索引来访问某一个位置的元素。字典通过来查找对应的值。

访问多个与元素

        对于元组和列表来说,除了访问单个元素外,还可以使用切片来截取多个连续的元素。切片需要使用冒号来分隔切片开始的位置和切片终止的位置。
        同时,遵循“左闭右开”原则,就是取左边的数据,不取右边的数据。

        切片时,开始位置和结束位置的数字,还有三种填写情况:
1. 只填写结束位置的数字:默认从第一个元素开始切片。
2. 只填写开始位置的数字:默认从开始位置切片,取到最后一个元素。
3. 两侧数字都不填写:取列表中的所有元素。

修改元素

        对列表和字典进行修改,可以使用列表的索引或字典的键,访问到需要修改的元素后,直接重新赋值即可。

添加元素

列表里添加元素

        往列表里添加内容有两种方式:
1. 如果想在列表的末尾增加一个元素,可以使用 append() 语句,将想要追加的内容放入append() 语句的括号内即可。

2. 如果想在列表的任意位置添加元素,则可以使用 insert() 语句,需要依次传入:插入的元素位置和要插入的元素。

字典里添加元素

        对于字典,添加新元素的方式是直接指定一个新的键,然后对它进行赋值。
        示例中,先通过重新赋值更改了"Gary"键所对应的值,再指定一个新的键"Qian",通过赋值将它对应的值设置为18。

删除元素

        从列表中删除一个元素时,我们使用pop()功能,通过这个元素的索引,来进行删除。
在字典中,依旧使用pop()功能,通过这个元素的键,来进行删除。

in运算符

        想要快速判断列表或者元组中是否有某一个元素,可以使用in运算符。in运算符的左边是要查找的元素,右边是定义的元组或列表。in运算的结果,是一个布尔值(True/False)。

        同样,当我们不知道字典有哪些键的时候,也可以通过in运算来检查字典是否包含某个键。

实战案例

实战案例:修改密码

        在修改密码的时候,经常会出现新设置的密码与从前的密码一致,系统自动识别出来,无法予以更改。
        这个机制其实通过列表就可以实现:
将每一次设置的密码都存入到一个列表password中,重新设置密码"yequ8888"时,通过if...else...语句以及in运算符判断"yequ8888"否存在于列表中。
        如果存在,则无法修改密码,使用print()输出:"密码修改失败"。
        如果不存在列表中,则可以修改密码,使用print()输出:"密码修改成功",并将"chestnut8888"追加到列表里。
        在最后,通过print()输出列表password。

参考代码:

# 定义一个列表password
password = ["python666", "codingisFun", "chestnut123", "789goPython", "BugAndDebug", "runtimeError"]

# 新密码newPassword
newPassword = "chestnut8888"

# TODO 根据题目,完成剩下的代码
if newPassword in password:
    print("密码修改失败")
else:
    print("密码修改成功")
    password.append("chestnut8888")
print(password)

运行结果:

总结

        今天,我们从以下几个方面复习了元组(tuple)、列表(list)和字典(dict):
1. 定义方式
2. 访问元素
3. 修改元素
4. 添加元素
5. 删除元素

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

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

相关文章

什么是制作视频内容?如何搞好视频内容制作?

写在前面 视频内容已成为希望吸引数字观众的企业、品牌和创作者的必备资产。事实上,根据NogenTech的一份报告,在2023年,91%的营销部门使用了这种动态内容。 视频内容创作和优化性能的技巧和窍门的增加绝非巧合。TikTok以及Instagram Reels和…

天地图全国幼儿园数据下载与处理分析

概述 在看天地图服务资源的时候看到有个“幼儿园”的数据,好奇点开看了下,下载下来数据差看了下,数据质量还不错。本篇文章给大家分享一下这个数据的处理以及一些简单的统计分析结果。 数据下载 通过地址https://service.tianditu.gov.cn/…

谷歌网络营销要做什么?

想做谷歌网络营销,广告是不能跳过的一环,花钱买广告位是最最实在的方法了,别人一搜相关的东西,你的产品或者服务就能跳出来,这样感兴趣的用户就会点进去,可以说是最实用的方法,唯一需要考虑的毫…

嵌入式常用5种通信协议

简介: 嵌入式常用五种通信协议为:UART、RS232、RS485、IIC、SPI。 由于这几种通信协议十分相似又有区别,所以分组记忆,红色的为一组,蓝色的为一组。 ①组都有两条线,且都是异步通信没得时钟线&#xff0c…

RuoYi开源项目1-下载并实现运行RuoYi项目

下载并实现运行RuoYi项目 环境需要下载项目项目配置后端项目配置前端项目配置 启动后前端登录页面截图 环境需要 JDK > 8MySQL >5.7Maven > 3.0Node > 12Redis > 3 下图是我的环境配置 下载项目 若依官网 1.进入官网,下载版本如下图RuoYi-Vue前后…

【pyautogui】PyAutoGUI 的简单使用

文章目录 1 简介2 通用功能2.1 暂停/休眠/耗时2.2 自动防故障功能 3 鼠标控制3.1 移动鼠标3.2 获取鼠标指针位置3.3 点击鼠标3.4 拖动鼠标3.5 滚动鼠标3.6 常用方法 4 键盘控制4.1 输入字符串 write4.2 按键操作 press4.3 按下 & 释放4.4 组合键 hotkey4.5 键名 5 屏幕图像…

VC-旅游系统-213-(代码+说明)

转载地址: http://www.3q2008.com/soft/search.asp?keyword旅游系统 旅游信息管理系统开题报告 一、研究目的 旅游信息管理系统能帮助旅行社在游客的市场开拓、游客的信息管理、客户服务等方面进行综合处理。使旅行社能够准确的掌握客户的市场动态,充分了解对客户…

【endnote】advanced science

今天投稿advanced science时,用endnote改格式,一大堆问题 发现标准引用格式如下,显示所有作者,不显示titile等 首先,上网下载了advanced science的格式ens,然后导入到endnote 发现不对,于是乎调…

【Python】科研代码学习:十二 PEFT(高效参数的训练,Adapter适配器)

【Python】科研代码学习:十二 PEFT PEFT简单训练教程简单推理教程Adapter 适配器Merge Adapter 架构关系 PEFT 【HF官网-Doc-PEFT:API】 首先日常问题,是什么,为什么,怎么用 PEFT (Prameter-Efficient Fine-Tuning)&a…

如何在数据库中存储小数:FLOAT、DECIMAL还是BIGINT?

前言 这里还是用前面的例子: 在线机票订票系统的数据表设计。此时已经完成了大部分字段的设计,可能如下: CREATE TABLE flights ( flight_id INT AUTO_INCREMENT PRIMARY KEY, flight_number VARCHAR(10), departure_airport_code VARCHAR(3), arrival_air…

HAProxy——高性能负载均衡器

目录 一.常见的Web集群调度器 二.HAProxy基本介绍 1.HAProxy是什么? 2.HAProxy的特性 3.HAProxy常用的8种负载均衡调度算法 3.1 轮询:RR(Round Robin) 3.2 最小连接数:LC(Least Connections&#xff…

【TB作品】MSP430单片机,音乐播放器,四首音乐,八音盒,Proteus仿真

文章目录 题目要求仿真结果实验报告:基于MSP430单片机的八音盒设计实验目的实验设备实验原理总结 代码和仿真图 题目要求 八音盒 本设计利用MSP430单片机结合内部定时器及LED/LCD,设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。 基本要求: 使用LED/LCD显示器…

分销商城小程序开发可以为商家带来哪些好处

分销小程序的开发帮助商家更多地维系客户,市场竞争越来越激烈,各大商家争抢流量,拼命获客,小程序分销堪比商家的营销神器。 分销商城小程序是指商家通过小程序分销与分销商建立利润分享合作伙伴关系,允许分销商将参与小…

C语言例3-11:使用算术运算符的例子。

代码如下: int main(void) {int a12, b10;float c2.0, d0.5;double e6.5, f13.0;printf("-a %d\n",-a);printf("ab %d\n",ab);printf("a-b %d\n",a-b);printf("a*b %d\n",a*b);printf("a/b %d\n"…

第 7 场 小白入门赛

第5题 &#xff1a;兽之泪【算法赛】 AC_Code:C #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <queue> #include<stack> #include<cmath> #include <unordered_set> #include &…

【数据结构高阶】图

目录 一、图的基本概念 二、 图的存储结构 2.1 邻接矩阵 2.2.1 邻接矩阵存储模式的代码实现 2.2.2 邻接矩阵存储的优缺点 2.2 邻接表 2.2.1 无向图的邻接表 2.2.2 有向图的邻接表 2.2.3 邻接表存储模式的代码实现 2.2.4 邻接表存储的优缺点 三、图的遍历 3.1 图的…

[linux]信号处理:信号编码、基本API、自定义函数和集合操作的详解

一、信号的概述 1、定义 信号是 Linux 进程间通信的最古老的方式。信号是软件中断&#xff0c;它是在软件层次 上对中断机制的一种模拟&#xff0c;是一种异步&#xff08;不等待&#xff09;通信的方式 。信号可以导致一个正在运行的进程被 另一个正在运行的异步进程中断&a…

RHEL8部署baichuan2环境

前置 1、安装NVIDIA驱动 https://www.nvidia.cn/Download/index.aspx?langcn 阿里云 Alibaba Cloud Linux 3.2104 LTS 64位&#xff0c;需要选择RHEL8&#xff0c;如果没有RHEL8&#xff0c;则选最下面那个选择所有操作系统 点击搜索&#xff0c;下载这里有安装步骤&#x…

Datawhale【Sora原理与技术实战】| 学习笔记3

目录 一. 训练 Sora 模型二. 数据预处理三. 视频 VQVAE四. Diffusion Transformer 一. 训练 Sora 模型 Open-Sora 在下图中总结了 Sora 可能使用的训练流程&#xff1a; 链路: 二. 数据预处理 目前主流 LLM 框架缺乏针对 video 数据 统一便捷的管理和处理能力&#xff0c;…

天水麻辣烫:麻辣鲜香,地城风情尽在其中

天水麻辣烫&#xff0c;这道源自甘肃天水的地道美食&#xff0c;早已成为当地饮食文化中不可或缺的一部分。追溯其源头&#xff0c;它脱胎于上世纪80、90年代的麻辣粉&#xff0c;那时的麻辣粉&#xff0c;以土豆粉和土豆片为主&#xff0c;辅以香辣的油泼辣子&#xff0c;简单…