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

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

目录

序言

整体回忆

定义方式

访问元素

访问单个元素

访问多个与元素

修改元素

添加元素

列表里添加元素

字典里添加元素

删除元素

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. 删除元素

相关文章:

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

目录 序言 整体回忆 定义方式 访问元素 访问单个元素 访问多个与元素 修改元素 添加元素 列表里添加元素 字典里添加元素 删除元素 in运算符 实战案例 总结 序言 今天将对前面学过的三种数据结构:元组(tuple)、列表(…...

探讨:MySQL和PostgreSQL谁更火

一、有人说PostgreSQL比MySQL火🔥 PostgreSQL相比于MySQL越来越受欢迎的原因可以从以下几个方面来阐述: 许可协议灵活性: PostgreSQL采用的是较为宽松的BSD许可证,允许企业在开源的基础上自由使用、修改和分发,而无需…...

hbase和es的选取 hbase与es结合

hbase和es的选取 hbase与es结合 背景介绍 HBase与ElasticSearch是现代应用在处理海量数据的技术架构会经常被使用的两款产品,其中HBase是一个分布式KV系统,具有灵活Schema、水平扩展、低成本、高并发的优势,但在复杂查询、分析能力方面相对…...

GoLang:云原生时代致力于构建高性能服务器的后端语言

Go语言的介绍 概念 Golang(也被称为Go)是一种编程语言,由Google于2007年开始设计和开发,并于2009年首次公开发布。Golang是一种静态类型、编译型的语言,旨在提供高效和可靠的软件开发体验。它具有简洁的语法、高效的编…...

高频面试必备(Java研发岗),一线互联网架构师设计思想解读开源框架

BeanFactory 和 ApplicationContext 有什么区别? 如何用基于 XML 配置的方式配置 Spring? 如何用基于 Java 配置的方式配置 Spring? 请解释 Spring Bean 的生命周期? Tomcat Tomcat 的缺省端口是多少,怎么修改&…...

React——react 的基本使用

前提:安装全局的脚手架,通过create-creat-app 项目名,我们创建好一个新项目,cd进去,通过npm start去运行该项目 注意:简单看下demo的配置,在根目录我们可以看到,没有任何webpack的…...

Unity资源热更新----AssetBundle

13.1 资源热更新——AssetBundle1-1_哔哩哔哩_bilibili Resources 性能消耗较大 Resources文件夹大小不能超过2个G 获取AssetBundle中的资源 打包流程 选择图片后点击 创建文件夹,Editor优先编译 打包文件夹位置 using UnityEditor; using UnityEngine; public cla…...

bootstrap企业网站前端模板

介绍 企业网站前端模板 软件架构 前端所用技术html/css/js/jquery 前端框架bootstrap 安装教程 浏览器本地路径访问发布到服务器比如(tomcat/nginx等)云服务器/虚拟机 网站效果图 网站预览 点击预览 源码地址 https://gitee.com/taisan/company…...

分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测

分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测 目录 分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 GSWOA-KELM分类&#xff0…...

软考77-上午题-【面向对象技术3-设计模式】-创建型设计模式02

一、生成器模式 1-1、意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 1-2、结构图 Builder 为创建一个 Product 对象的各个部件指定抽象接口。ConcreteBuilder 实现 Builder 的接口以构造和装配该产品的各个部件,定…...

微博热搜榜单采集,微博热搜榜单爬虫,微博热搜榜单解析,完整代码(话题榜+热搜榜+文娱榜和要闻榜)

文章目录 代码1. 话题榜2. 热搜榜3. 文娱榜和要闻榜 过程1. 话题榜2. 热搜榜3. 文娱榜和要闻榜 代码 1. 话题榜 import requests import pandas as pd import urllib from urllib import parse headers { authority: weibo.com, accept: application/json, text/pl…...

有趣的前端知识(三)

推荐阅读 有趣的前端知识(一) 有趣的前端知识(二) 文章目录 推荐阅读JS内置对象JS外部对象BOM模型history对象screen对象navigator对象 DOM(文档对象模型)DOM的方法(对于节点的操作&#xff09…...

How to install teams in ubuntu

Download deb file download link: https://mirrors.sdu.edu.cn/spark-store-repository/store/office/teams/ install deb sudo apt install ./teams_1.5.00.23861_amd64.deb open and login teams....

macOS14.4安装FFmpeg及编译FFmpeg源码

下载二进制及源码包 二进制 使用brew安装ffmpeg : brew install ffmpeg 成功更新到ffmpeg6.1 下载FFmpeg源码...

基于Springboot+vue+mybatis框架的建材运营管理系统的设计与实现【附项目源码】分享

基于Springbootvuemybatis框架的建材运营管理系统的设计与实现: 源码地址:https://download.csdn.net/download/weixin_43894652/88842715 一、引言 随着信息技术的快速发展,各行各业都在积极地进行数字化转型。建材行业作为传统行业之一&a…...

前端路由跳转bug

路由后面拼接了id的千万不能取相近的名字,浏览器分辩不出,只会匹配前面的路径 浏览器自动跳转到上面的路径页面,即使在菜单管理里面配置了正确的路由 跳转了无数次,页面始终不对,检查了路由配置,没有任何问…...

二 centos 7.9 磁盘挂载

上一步 一 windso10 笔记本刷linux cent os7.9系统-CSDN博客 笔记本有两个盘,系统装在128G的系统盘上,现在把另外一个盘挂载出来使用 lsblk 发现磁盘已经分好了,直接挂载就好了,参考文章:Centos7.9 挂载硬盘_centos7.9挂载硬盘-CSDN博客 永久挂载 lsblk -f分区格式化 mkfs…...

二叉搜索树、B-树、B+树

二叉搜索树 二叉查找树,也称为二叉搜索树、有序二叉树或排序二叉树,是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若任意节点的右子树不空&#xff0…...

Docker简介与安装

简介 用来快速构建、运行、管理应用的工具简单说,帮助我们部署项目以及项目所依赖的各种组件典型的运维工具 安装 1.卸载旧版 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \docker-client \docker-client-latest \dock…...

Swift 单元测试

Swift 单元测试是用于检查代码的正确性和稳定性的一种测试方法。它可以帮助开发者在编写代码时及时发现和解决错误,提高代码质量。 在 Swift 中,可以使用 XCTest 框架来编写和运行单元测试。以下是一个简单的示例: import XCTestclass MyMa…...

Part 1:Python 语言核心 - 变量与命名规则

Python 基础语法 - 变量与命名规则 一、python 变量的真实模型变量 名字(name)→ 对象(object)的“绑定关系”python 中变量本身不存值,值永远存储在对象里,变量只是标签/引用。 a 10底层语义等价于&…...

Istio Gateway+VirtualService配置不生效?Java服务流量劫持失败的6大隐性原因深度诊断

第一章:Istio GatewayVirtualService配置不生效?Java服务流量劫持失败的6大隐性原因深度诊断Istio 的 Gateway 与 VirtualService 是实现南北向流量治理的核心资源,但 Java 应用在启用 Istio Sidecar 注入后,常出现请求未被 Envoy…...

seo 站群的优缺点是什么

SEO 站群的优缺点解析 在现代的互联网营销中,SEO(搜索引擎优化)站群是一个重要的概念。SEO 站群是指由多个主题相关的网站组成的集合,这些网站通过某种联系形式运作在一起,以提升整体的搜索引擎排名和流量。虽然 SEO …...

Pixel Couplet Gen应用场景:微信小程序‘灵蛇贺岁’互动模块开发全解析

Pixel Couplet Gen应用场景:微信小程序灵蛇贺岁互动模块开发全解析 1. 项目背景与核心价值 在传统节日数字化呈现的浪潮下,我们开发了"灵蛇贺岁"微信小程序互动模块。这款基于ModelScope大模型的春联生成器,通过创新的像素游戏风…...

Shell编程避坑指南:为什么你的while循环总出问题?7个常见错误排查

Shell编程避坑指南:为什么你的while循环总出问题?7个常见错误排查 在Shell脚本开发中,while循环是处理未知迭代次数的利器,但也是错误的高发区。很多开发者在使用while时经常遇到脚本卡死、逻辑异常或结果不符合预期等问题。本文将…...

用Python写AI版石头剪刀布:教你用机器学习预测对手出拳(TensorFlow实战)

用Python构建AI驱动的石头剪刀布游戏:从数据收集到模型部署全流程 石头剪刀布这个看似简单的游戏,实际上蕴含着丰富的决策模式和人类行为规律。作为一名长期研究游戏AI的开发者,我发现用机器学习预测玩家出拳模式远比随机选择有趣得多。本文将…...

如何高效突破Cursor试用限制:全功能AI编程助手解锁指南

如何高效突破Cursor试用限制:全功能AI编程助手解锁指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tr…...

seo sem公司如何制定营销策略

SEO SEM公司如何制定有效的营销策略 在当今数字化时代,SEO(搜索引擎优化)和SEM(搜索引擎营销)已经成为企业推广和品牌建立的关键组成部分。无论是中小企业还是大型跨国公司,它们都需要高效、精准的营销策略…...

ThingsBoard源码本地部署实战:从环境准备到成功启动的避坑指南

1. 环境准备:打好地基才能盖高楼 第一次在本地部署ThingsBoard源码时,我像大多数开发者一样直接clone代码就往IDE里导,结果被各种依赖问题折腾得够呛。后来才发现,源码部署就像装修房子,水电改造(环境配置&…...

聚焦18650电池点焊机:新能源产业焊接环节的核心设备

在新能源产业高速发展的当下,18650锂电池凭借其高能量密度、长循环寿命及稳定性能,成为电动汽车、储能系统、便携电子设备等领域的核心动力源。作为电池组装环节的关键设备,18650单节自动点焊机通过精密的焊接技术,将电池极耳与镍…...