[Python学习日记-7] 初识基本数据类型(下)

news2024/9/23 7:28:28

简介

        我们在基本数据类型(上)当中介绍了数据类型中的数据类型(整数、浮点数)、字符串和布尔值,那么我们还剩下列表和数组还没有介绍了,在 Python 中,列表(List)是一种有序的、可变的数据类型,它可以存储不同类型的元素,并且元素之间可以重复,是一种非常常用和灵活的数据结构。与列表相比,数组(Array)是一种用于存储相同类型元素的数据结构,数组要求其元素必须是同一种数据类型,这使得数组在进行数值计算时更加高效。在 Python 中,可以使用第三方库NumPy来创建和操作数组,NumPy 提供了一个高性能的多维数组对象,并且提供了许多数组操作的函数和方法。下面我们将来详细介绍这两种数据类型

列表

        那么我们就先开始介绍列表这种数据类型,首先我先列出几个名字:Jove、Xiaoming、Xionger、Jake、Superman 当我想要使用一个变量把这几个名字存下来的时候我们应该怎么存呢?有的同学会想到使用一个字符串全部存下来,如下

names = "Jove、Xiaoming、Xionger、Jake、Superman"

 

         可以看到,的的确确是把名字存下来了,但是如果这个时候突然间来了个需求,需要取出其中一个名字,那应该如何取呢?这个时候就开始头疼了,这根本无法取或者说取的难度极大(这中间也不是说绝对不能存取,但是需要定位当中的分割字符和字符串的头尾数据处理的问题,这是相当复杂的一件事,并且收益并不大),这个时候我们就应该选择列表的这种数据类型了。

一、创建列表 

        列表使用通过中括号 [] 来定义,里面存储的一个个数据称之为元素,元素之间使用逗号分隔,代码如下

names = []    # 空列表
names = ["Jove","Xiaoming","Xionger","Jake","Superman"]    # 存储同一数据类型的列表
names = ["Jove",12,"Xiaoming",27,"Xionger",46,"Jake",26,"Superman",18]    # 同一列表存储不同类型的数据类型

 二、列表取数据

        前面介绍了如何创建一个列表,我们使用列表的最大一个原因就是为了取的方便,先介绍如何取出元素中的数据

print(names[0])
print(names[4])
print(names[9])

 

        看到这里有些初学者就很奇怪了,怎么可以用列表名加中括号带个数字就能获取到其中一个元素呢? 这就要说到这个列表的一个构成结构了,列表是通过下标(索引)的形式来标注这个元素位置的,下标从0开始,每添加一个元素就自动+1,如下

元素名Jove12Xiaoming27Xionger46Jake26Superman18
下标(索引)0123456789

三、元素的增删改查

1、增

        插入:

names.insert(4,"Kerry")    # 插入到下标为4的位置,后面的元素相应的会+1

         插入无法插入到最后一位,如果想要在最后一位增加一个元素的话需要使用追加

        追加:

names.append("小强")    # 把元素放入列表最后面一位

2、删

del names[11]    # 删除指定下标的元素(正着数)
del names[-1]    # 删除指定下标的元素(倒着数),代表列表的最后一位元素

 

        删除除了使用 del 删除外还有另外一种方法,本篇是初识先不介绍,后面章节将会有详细介绍 

3、改

names[-2] = "超人"

 

        列表中改的操作同样适用正反下标,倒着从-1开始数,正着从0开始数 

4、查

'Jove' in names    # 查找一下 Jove 是否在列表当中,在则返回 True ,不在则返回 False

        上面所说的是前面其中一种方法,但是这种查法只能知道该元素在不在列表当中,而不知道它的具体位置(下标),这个时候我们 .index (index意思是索引)来查找了

names.index("Jove")    # 若有则返回该元素下标,没有则会报错

 

        这个方法直接报错看着有点粗暴,但是如果配合上面第一种方法的话其实还是可以做得比较完善的,即判断是否在列表中再进行下一步,或者是使用异常处理来应对这种报错,这种返回下标的玩法很多,可以结合上面增、删、改来使用,请看下面

names.insert(names.index("超人"),"Jok")    # 找出超人的下标,然后在该下标插入 Jok 进去
del names[names.index("超人")]    # 找出超人的下标,然后在列表中删除超人
names[names.index("Jok")] = "Superman"    # 找出 Jok 的下标,然后修改

        上面的代码是不是有点新奇,有人会问,为什么代码里面可以包含着代码呀,不应该是一个数字下标吗?这里要说一说 Python 的运行逻辑,Python 在解释代码的时候会先解释执行括号、中括号这类符号内的代码先,而这些代码执行完之后返回值为一个整数,即列表的下标,我们也可以简单的理解为上一条命令的结果,作为下一条命令的输入。而这种形式的代码被称作命令嵌套这个方式的代码后面会经常的使用,

数组

         在 Python 中并没有数组这一个数据类型,但是在 C、C++、Java 中有这个数据类型,有的时候开发一个系统并不会只用一门语言,而是会使用不同语言之间的优势进行定向开发,而 Python 当中使用数组这个数据类型就需要使用 NumPy 来创建数组了,方式如下

import numpy as np    # 引入第三方库 numpy,简称为 np

my_array = np.array([1, 2, 3, 4, 5])    # 使用 numpy 创建数组

其他的数据类型

        Python 中除了数字、字符串、布尔值、列表外还有好几个重要的数据类型,分别是字典(dict)、集合(set)、元组(tuple),由于本篇是初识基本数据类型,我们会把这些比较高级的数据类型放到后面进行介绍

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

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

相关文章

力扣Hot100-final关键字,常量,抽象类(模板方法设计模式),接口

(一)final关键字 (2)常量 使用static final 修饰的成员变量被称为常量 作用:;通常用于记录系统的配置信息 注意:产量命名要求:单词大写,下划线连接多个单词 产量优势…

windows下使用vcpkg编译libcurl库并使用C++实现ftp上传下载功能

1、下载安装vcpkg git clone https://github.com/microsoft/vcpkg2、编译vcpkg 使用cmd命令 D:\Code\ThirdParty>cd vcpkg D:\Code\ThirdParty\vcpkg>bootstrap-vcpkg.bat3、使用vcpkg编译所需的库 进入vckpkg目录,使用vckpkg install 命令进行安装。在安…

OJ题——二叉树(最大深度/平衡二叉树/前序遍历构建)

🍬个人主页:Yanni.— 🌈数据结构:Data Structure.​​​​​​ 🎂C语言笔记:C Language Notes 🏀OJ题分享: Topic Sharing 题目一(最大深度) 利用分治的思想&…

饿了么新财年开门见喜:亏损减负,收入增肌

撰稿 | 行星 来源 | 贝多财经 8月15日,阿里巴巴对外发布2025财年一季度(即自然年2024年二季度)业绩。不难看出,受益于饿了么和高德订单的显著增长,以及市场营销服务收入的明显拉升,该季度本地生活集团成绩…

10.DMA

理论 12个通道:DMA1(7)DMA2(5) 方向:存储器和存储器间(DMA_MEMORY_TO_MEMORY)、外设到存储器(DMA_PERIPH_TO_MEMORY)、存储器到外设(DMA_MEMORY_TO_PERIPH) 闪存、 SRAM、外设的SRAM、 APB1、 APB2和AHB外…

Simple RPC - 05 从零开始设计一个客户端(下)_ 依赖倒置和SPI

文章目录 Pre概述依赖倒置原则与解耦设计与实现1. 定义接口来隔离调用方与实现类2. 实现类DynamicStubFactory3. 调用方与实现类的解耦 依赖注入与SPI的解耦依赖注入SPI(Service Provider Interface) 总结 Pre Simple RPC - 01 框架原理及总体架构初探 …

一个模型,多种作物:迁移学习如何提升设施农业AI模型效能

( 于景鑫 国家农业信息化工程技术研究中心)设施农业是现代农业的"压舱石",但传统的经验式管理模式已难以为继。在数字经济时代,设施农业亟需向数字化、网络化、智能化转型升级。以人工智能为代表的信息技术,正在为设施农业插上腾飞的翅膀。作为…

Kafka主题(Topic/文件夹)的操作

Kafka主题(Topic/文件夹)的操作 1、Kafka主题(Topic/文件夹)2、Kafka主题(Topic/文件夹)的一些操作2.1、创建主题(Topic/文件夹)2.2、列出所有主题(Topic/文件夹&#xf…

8路VBO转HDMI2.0支持4K60频率ITE6265芯片方案心得分享

在此之前,有人找到我这边询问能不能将智能电视主板改成机顶盒,将VBO信号转换输出位HDMI进行投屏,具体应用奇奇怪怪!但是奈何是甲方大佬。认命照做。从网上也有搜索了解过这类芯片,发现资料很少,所以有了这篇…

基于免疫算法的最优物流仓储点选址方案MATLAB仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于免疫算法的最优物流仓储点选址方案MATLAB仿真。 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 (完整程序运行后无水印) 3…

STM32标准库学习笔记-1.基础知识

STM32介绍: STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器。 ARM的含义: 公司名称:ARM公司成立于1990年,全称是Advanced RISC Machines(RISC:Reduced Instruction Set Computer 精简指令集计算机 相对应有C…

C++票据查验、票据ocr、文字识别

现在,80、90后的人们逐渐过渡为职场上的主力人员,在工作中当然也会碰到各种各样的问题。比如,当你的老板给你一个艰难的任务时,肯定是不能直接拒绝的。那么我们该怎么做呢?翔云建议您先认真考虑老板说的任务的难度&…

C语言日常练习 Day17

目录 一、找出一个二维数组的鞍点 二、有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中的英文大写字母、小写字母、数字、空格以及其他字符的个数 三、有一行电文,已按下面规律编译成密码:A->Z,a->z,B->Y,…

mp3格式转换器推荐哪个?音质无损转换新选择

暑假在家,想要自己学着制作独一无二的彩铃吗?首先得解决音乐格式的难题。 面对众多mp3格式转换app,你是否也在犹豫“mp3格式转换app常用哪个?” 别担心,热门mp3格式转换工具大盘点来袭,帮你轻松搞定格式转…

《深入浅出WPF》读书笔记.5控件与布局(上)

《深入浅出WPF》读书笔记.5控件与布局(上) 背景 深入浅出WPF书籍学习笔记附代码。WPF中数据是核心是主动的,UI是数据的表达是被动的。 程序的本质是数据算法;控件的本质是数据行为; 5.控件与布局 一、6类控件派生关系 1.布局控件:可以容纳多个控件…

为什么神经网络常常是linear+relu的堆叠

特征提取:每一层的线性变换可以看作是在提取输入数据的不同特征。通过堆叠多个这样的层,网络能够学习从原始数据中提取越来越复杂的特征表示非线性关系:单个神经元的线性变换是线性的,但通过引入非线性激活函数(例如Re…

重生奇迹MU 百变职业 打造属于你的专属职业

重生奇迹MU让每个玩家都能够在这里打破常规、展示个性,以自己的方式创造专属的游戏体验。其中的加点玩法是最为重要的部分之一,它不仅在角色成长过程中发挥着重要作用,还能够激发玩家的想象力,让他们自由设计全新的玩法。同样一个…

美股收涨,半导体板块领涨;苹果iPhone出货预测上调

市场概况 在昨夜的交易中,美股三大股指全线收涨。道琼斯工业平均指数上涨1.39%,纳斯达克综合指数上涨2.34%,标准普尔500指数上涨1.61%。值得注意的是,英伟达股票涨幅近4%,推动了科技股的整体表现。美国十年期国债收益…

【W1】记录文档

标题 导出数据结构关系结构YOLOVOCLabelMeCOCOJSON可视化 导出数据结构 关系结构 任务 -> 批次 -> 条目 -> 帧YOLO 一张图片对应一个文本文件 .txt<object-class> <x> <y> <width> <height>归一化处理找到物体在图像中的中心点的 x&a…

018、钩子函数 mounted和beforeDestroy、父组件向子组件传递参数 props 的使用

文章目录 1、mounted 和 beforeDestroy1.1、mounted1.2、beforeDestroy 2、父组件向子组件传递参数 props2.1、子组件定义2.2、父组件调用子组件并传参 3、完整例子3.1、父组件 Tags.vue3.2、子组件 TagsMenu.vue3.3、效果图 1、mounted 和 beforeDestroy 1.1、mounted mount…