python 入门到实践期末考试常出现的考试内容_Python编程入门到实践—列表篇(一)...

a15bf98490af0467b60984de67532388.png

一、列表是什么?

列表由一系列按特定顺序排列的元素组成。

可以创建包含字母表中所有字母、数字0-9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。

列表通常包含多个元素,给列表指定一个表示复数的名称(如:letters、digits或names)

在Python中,用方括号([ ])来表示列表,并用逗号来进行分隔其中的元素。(如下图)如果你让Python将列表打印出来,Python将打印列表的内部表示,包括方括号。

1.1访问列表元素

列表是有序集合,因此要访问列表的任何原色,只需将该元素的位置或索引告知Python即可。要访问列表元素,可指出列表的名称,在指出元素的索引,并将其放在方括号内。

例如,下面的代码从列表bicycle中提取第一款自行车:

56a6e5c8eec08e4636a92a1d9a3af4bd.png

以上演示了访问列表元素的语法。当你请求获取列表元素时,Python只返回该元素,二部包括方括号和引号。

b45dd12189d8af426346a6b1fa94958c.png

1.2索引从0而不是1开始

在Python中,第一个列表元素的索引为0,而不是为1。第二个列表元素的索引为1。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减1,并将结果作为索引。

例如,要访问第四个列表元素,可使用索引3。下面的代码访问索引1和3处的自行车,及输出的值。

db4b4c4459d41f80d8942f490b4416c9.png

91a11f719411f6c467699500a0f731c0.png

** Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回最后一个列表元素。这样返回的值“specialized”。经常需要在不知道列表长度的情况下访问最后的元素。这种约定也适用于其他负数索引,索引-2返回倒数第二个列表元素,以此类推。**

5466b33e577660450325f4c59e63bdbd.png

9cb88c8c16b4ce050376e684529a7c87.png

1.3使用列表中的各个值

可像使用其他变量一样使用列表中的各个值。

下面将尝试从列表中和提取第一款自行车,并使用这个值来创建一条消息。我们使用bicycle[2]的值生成了一个句子,并将其存储在变量message中。(如下图)

5a99312242375df7ac8dadb72304951b.png

4567c65232c282f01ce893751e52518f.png

二、修改、添加和删除元素

2.1修改列表元素

修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,在指定该元素的新值。

例如,假设有一个自行车列表,其中的第五个元素为“Qbike”,如何修改它的值呢?

** 我们首先定义一个自行车列表,其中的第五个元素为“Qbike”。接下来,我们将第五个元素的值修改为“U-bicycle”,输出标明,第五个元素值确实变了,其他没变。(可以修改任何列表元素的值,不仅仅是第五个元素值)**

7c4bfe88a3419fc70d26318227f38c88.png

3afa6591bcb9494a03076d9bf5c1c4e4.png

2.2在列表中添加元素

在列表中末尾添加元素

在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。方法append()将元素‘DDbike’添加到了列表末尾(如下图)而不影响列表中的其他所有元素。

33ea76d5f5824767655a0b49eeb83c50.png

655dd037a88158922ee31301fa771a64.png

方法append()让动态的创建列表易如反掌。可以先创建一个空列表,在使用一系列的append()语句添加元素。(如下图)这种创建列表的方式极其常见,因为经常要等程序运行后,你才知道用户要在程序中存储哪些数据。为控制用户,可先创建一个空列表,用于存储用户将要输入的值,然后将用户提供的每个新值附加到列表中。

c2d4884470502cd46aa47310fad11fe4.png

5d378abbd5e50181995d6231900c8b8b.png

在列表中插入元素

使用insert()可在列表的任何位置添加新元素。将值‘hellobike’被插入到了列表开头;方法insert()在索引0处添加空间,并将值‘hellobike’存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置;

5899c53fd1e35146932a1fdba58a7b20.png

fa487c5f80fb3e2653c7754b3beda2b7.png

2.3从列表中删除元素

使用del语句删除元素:要删除的元素在列表中的位置,可使用del语句。

2c0b1e546f960e3ebf68aebcecd1ed00.png

0cd5f15a045c7109f4ce83ef68d27b54.png

上述的代码使用del删除了列表bicycle中的第三个元素——‘hellobike‘’,以此类推。

使用方法pop()删除元素

有时候,你要将元素从列表中删除,并接着使用它的值。方法pop()可删除列表末尾的元素,并让你能够接着使用它。

2edd7b18b6d4cae38dd06d42294d7e4e.png

我们首先定义并打印了列表bicycle。接下来,我们从这个列表中弹出一个值,并将其存储到变量popped_bicycle中。然后我们打印这个列表,以核实从其中删除了一个值。最后,我们打印弹出的值,以证明我们依然能够访问被删除的值。

输出表明,列表末尾的值‘hellobike’已删除,它现在存储在变量popped_bicycle中(如下图)。

206b8fb5a7485ae66b1d6d4dfd0af121.png

弹出列表中任何位置处的元素

实际上,你可以使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。

bec7f2e108f1b7bea680183a1f51249d.png

首先,我们弹出了列表中的第一款共享单车,然后在打印一条有关这辆自行车的消息。输出的是一个简单语句,描述了我想要骑的共享单车:

c13fac8ef195418cc9078b5da4f5e0f3.png

每当你使用pop()时,被弹出的元素就不在列表中了。

如果你要从列表中删除一个元素,且不再以任何方式使用它,就是用del语句。

如果你要在删除元素后还能继续使用它,就使用方法pop()。

根据值删除元素

有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove()。

36b9fcb9b93deea6e3848dc67b6a921b.png

c8f1788e6078ddd40d29b916bec66f46.png

使用remove()从列表中删除元素时,可接着使用它的值。下面删除值‘Qbike’,并打印一条消息,指出从列表中删除的原因:

07d6b4d04333841b1992f03b9a533249.png

上述,我们将值‘Qbike’存储在变量to_ride中。接下来,我们使用这个变量来告诉Python将哪个值从列表中删除。最后,值‘Qbike’已经从列表中删除。但它还存储在变量to_ride中,打印并指出将‘Qbike’从列表bicycle中删除的原因(如下图)

244b6653dda5be97407148c6170de895.png

注意:方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

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

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

相关文章

c#中将集合写入文本_在C#中将记录插入MySQL数据库

c#中将集合写入文本In the last tutorial (how to connect with MySQL database in C#?), we learned about making the connection with MySQL database in C#. Here, in this tutorial, we will learn how to insert the records in MySQL database in C#? 在上一教程( 如何…

day1-Linux操作系统基础

该专栏所有内容笔记均来自传智播客培训班 1.什么是操作系统(operate system OS) 小议:承上启下作用,向下可以控制硬件,向上能够支持软件的运行。一个可以控制硬件的软件。 小明找小红聊天,小明打开QQ&…

关闭浏览器 清空session_跨境网络小知识之Session

跨境小伙伴们大家好,上一篇为大家介绍了Cookie,今天就为大家介绍下连接cookie的另一端Session,交互过程中,二者缺一不可。与Cookie相对,Session是存储在服务端的,他们之间是通过一个叫做sessionID的东东建立…

Dojo学习笔记(一):Hello Dojo!

欢迎来到Dojo世界!在这篇文章中你将会学习到如何加载Dojo以及探索Dojo的一些核心功能。你还会了解Dojo的基于AMD的模块架构,探索如何加载额外的模块来增加功能到您的Web站点或应用程序,并找出在出错的时如何得到帮助。让我们开始吧 开始学习D…

转:我眼中的Visual Studio 2010架构工具

来自:http://www.cnblogs.com/wayfarer/archive/2010/07/30/1788398.html我眼中的Visual Studio 2010架构工具影响架构质量的是构建体系架构的思想、原则、实践与架构师的经验,绝不是工具。即使是最优秀的架构工具,也不可能像倚天宝剑一般——…

VMware创建Ubuntu操作系统到网络配置详细流程

一、创建虚拟机 Ubuntu下载链接 1,看个人需求了,有更高的版本,下载Ubuntu镜像 2,VMware官网随便下载即可 3,创建新的虚拟机 4,自定义 5,默认即可 6,稍后安装操作系统 7&#xf…

djiango配置mysql_数据库MySQL相关环境配置以及数据库与Go的连接

Linux下安装好MySQL后,Windows安装可视化工具navicatLinux下MySQL与Windows下navicat进行连接:安装的过程很是揪心,各种查网站、大致把坑都写了出来:1、在Linux下的mysql语句中,mysql> select host,user,authentication_string…

基于HtmlParser的网络爬虫

一、 目标 获取网页中的超链接及链接名,如从http://www.hao123.com/开始,抓取所有hao123链接到的超链接,再以获取到的链接网页为目标,获取它所链接到的网页。 二、环境及开发工具 环境:Java 工具:MyEclip…

VMware下Ubuntu无法全屏显示问题

一、运行Ubuntu的时候无法全屏显示,如图所示下载VMware Tools 二、之后将下载的文件拷贝到home文件夹下 三、解压该压缩包 由于该压缩包是.tar.gz结尾的故压缩命令:tar -zxvf VMwareTools-10.2.5-8068393.tar.gz,当然各版本有可能不一样&am…

AMQP RabbitMQ

转载:http://blog.ftofficer.com/2010/03/translation-rabbitmq-python-rabbits-and-warrens/官方介绍:http://www.rabbitmq.com/erlang-client-user-guide.html开始吧AMQP当中有四个概念非常重要:虚拟主机(virtual host&#xff…

fsync与fflush的关系和区别

read/write/fsync与fread/fwrite/fflush的关系和区别 read/write/fsync: linux底层操作; 内核调用, 涉及到进程上下文的切换,即用户态到核心态的转换,这是个比较消耗性能的操作。 fread/fwrite/fflush:…

数据库系统数据库管理系统_数据库管理系统介绍

数据库系统数据库管理系统数据库 (Database) A database is a collection of related data. In database any user can efficiently access the data which users want to retrieve. It can be anything from a simple collection of roll numbers, names, addresses and phone…

srs配置文件分析

配置文件中的每一项都是一个SrsConfDirective对象。 例子:vhost 1、 整个vhost 是一个SrsConfDirective对象。 1.1、名字:std::string name vhost 1.2、参数:std::vectorstd::string args第0个值 defaultVhost 1.3、子SrsConfDirective&a…

寄存器(CPU工作原理)03 - 零基础入门学习汇编语言08

第二章:寄存器(CPU工作原理)03 让编程改变世界 Change the world by program 物理地址 CPU访问内存单元时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间。 我们将这个唯一的地址称为物理地址。 16位结构的CPU…

Anaconda下安装OpenCV和Tensorflow(最简洁高效的方法)

安装Tensorflow 1,打开Anaconda Navigator 2,手动创建tensorflow环境,这个和你的python版本号一致哈(方法一第一步之后,输入python即可查看当前的版本) 3,手动搜索并下载添加 4,…

使用FD_CLOEXEC实现close-on-exec,关闭子进程无用文件描述符

我们经常会碰到需要fork子进程的情况,而且子进程很可能会继续exec新的程序。这就不得不提到子进程中无用文件描述符的问题! fork函数的使用本不是这里讨论的话题,但必须提一下的是:子进程以写时复制(COW,C…

Anaconda中下载速度贼慢?

清华镜像 大致步骤如下: 1,windsR输入cmd,打开命令终端页面 输入conda config --set show_channel_urls yes 2,在相应的C盘目录下会生成.condarc文件 3,用记事本或者notepad打开进行替换 channels:- defaults show_c…

mysql创建表时出现1071_mysql 出现1071错误怎么办

mysql 出现1071错误的解决办法:该问题是由键值字段长度过长导致。mysql支持数据库表单一键值的最大长度不能超过767字节,超出这个长度即报错(见标题名称)。一般情况下,不会有键值字段的长度会超出该长度。但是需要注意的是,随着全…

srs rtmp从监听到接收到新连接的过程分析

:分析srs从启动开始的main入口开始。分析rtmp监听端口,然后到接收到新rtmp连接的过程分析。 目录一、流程图二、代码分析1、srs_main_server.cpp:main()2、srs_main_server.cpp:do_main()3、srs_main_server.cpp:run()4、srs_main_server.cpp:run_master…

加载一张照片,可选择是否另存为

加载一张照片,按下S键保存,ESC退出 加载一个灰度图(E:\Python-workspace\yanyu.png),显示图片按下’s’键保存(beyond.png)(保存后的路径和该程序所在路径一致)后退出,或者按下 ESC 键退出不保存 import cv2img cv2.imread(E:\…