列表元素的增删改:客人名单的变化

  • 对一个给定的列表进行增、删、改等操作,并输出变化后的最终列表。列表是由按一定顺序排列的元素组成,其中的元素根据需要可能会发生变化。其中,列表元素的添加、删除或修改等是最常见的操作。

下面以一则请客的故事来说明列表元素操作的应用场景: 有个人邀请几个朋友吃饭,初步拟定了一个客人名单列表

 guests=['Zhangsan','Li si','Wang wu','Zhao liu']

后面因为一些临时情况,这个客人名单不断变化:

Zhao liu说要带他的朋友Hu qi一起来;

Zhang san因临时有事不能来了;

Wang wu说由他的弟弟Wang shi代他赴宴。

最终的客人名单列表如下:

['Li si','Wang shi','Zhao liu','Hu qi']

相关知识

  • Python
    为列表类型提供了一系列内置操作,包括 append()insert()pop()remove() 等函数,能够很方便的处理上述列表元素变化的情况。我们以上述客人名单列表为例介绍这几种列表操作方法。

添加列表元素

  • Python 提供了 append()insert() 等函数,实现向一个列表增加新元素的功能。

在列表尾部添加元素

  • 在 Python 中,可以使用 append() 方法向一个列表的尾部追加一个元素,其基本语法如下:
source_list.append(obj)

其中:

source_list:待修改的列表;

obj:待插入的元素。

例如,要向guests列表尾部增加客人Hu qi,相应的语句为:

# 初始化guests列表
guests=['Zhang san','Li si','Wang wu','Zhao liu']
# 向guests列表尾部追加一个名为Hu qi的客人
guests.append('Hu qi')
# 输出新的guests列表
print(guests)

输出结果为:

['Zhang san','Li si','Wang wu','Zhao liu','Hu qi']

在列表指定位置添加元素

  • Python 也提供了 insert() 方法,可以在列表任意指定位置插入元素,其基本语法为:
source_list.insert(index,obj)

其中:

source_list:待修改的列表;

index:待插入的位置索引;

obj:待插入的元素。

注意:在 Python 中,列表起始元素的位置索引为0。

例如,要向guests列表中Zhang san的后面增加客人Hu qi,则相应的语句为:

# 创建并初始化guests列表
guests=['Zhang san','Li si','Wang wu','Zhao liu']
# 向guests列表Zhang san后面增加一个名为Hu qi的客人
guests.insert(1,'Hu qi')
# 输出新的guests列表
print(guests)

输出结果为:

['Zhang san','Hu qi','Li si','Wang wu','Zhao liu']

修改列表元素

  • Python 中修改列表元素的方法为:直接将列表中要修改的元素索引指出,然后为其指定新值。其基本语法如下:
source_list[index] = obj

其中:

source_list:待修改的列表;

index:待修改元素的位置索引;

obj:待元素的新值。

例如,将请客名单guests列表中的Wang wu改为Wang shi,则相应的语句为:

# 初始化guests列表
guests=['Zhang san','Li si','Wang wu','Zhao liu']
# 将列表中的`Wang wu`改为`Wang shi`
guests[2] = 'Wang shi'
# 输出新的guests列表
print(guests)

输出结果为:

['Zhang san','Li si','Wang shi','Zhao liu']

删除列表元素

  • Python 提供了多种不同的方法来实现对列表中元素的删除操作,包括根据元素索引位置或者元素值删除元素的方法。

(1)删除指定位置的元素

del方法

  • 在 Python 中,调用 del 函数能够删除指定索引位置的元素,其基本语法如下:
del source_list[index]

其中:

source_list:待修改的列表;

index:待删除元素的位置索引。

例如,将请客名单guests列表中的Zhang san删除,则相应的语句为:

# 初始化guests列表
guests=['Zhang san','Li si','Wang wu','Zhao liu']
# 将列表中的`Zhang san`删除
del guests[0]
# 输出新的guests列表
print(guests)

输出结果为:

['Li si','Wang wu','Zhao liu']

pop方法

  • Python 还提供了 pop() 方法来删除元素,该方法将从源列表删除对应元素,同时返回被删除的元素。其基本语法如下:
deleted_obj = source_list.pop(index)

其中:

deleted_obj:保存被删除元素的变量,可根据需要自由命名;

source_list:待修改的列表;

index:待删除元素的位置索引。

注意:index参数为可选项,不填则默认删除列表末尾的元素。

例如,将请客名单guests列表中的Zhang san删除,则相应的语句为:

# 初始化guests列表
guests=['Zhang san','Li si','Wang wu','Zhao liu']
# 将列表中的`Zhang san`删除
deleted_obj = guests.pop(0)
# 输出被删除的元素以及删除后的guests列表
print(deleted_obj)
print(guests)

输出结果为:

Zhang san
['Li si','Wang wu','Zhao liu']

(2)删除指定值对应的元素

  • 有些时候我们并不知道要删除元素的位置索引,怎么办呢?别着急,Python
    还提供了 remove() 方法,可以直接通过元素值来删除对应的元素。其基本语法如下:
source_list.remove(obj)

其中:

source_list:待修改的列表;

obj:待删除元素的值。

注意:如果列表中有多个值为obj的元素,remove仅删除位置索引最靠前的那个元素。

例如,将请客名单guests列表中的Zhang san删除,则相应的语句为:

# 初始化guests列表,列表中有多个名为Zhang san的客人
guests=['Zhang san','Li si','Wang wu','Zhao liu','Zhang san']
# 将列表中的`Zhang san`删除
guests.remove('Zhang san')
# 输出新的guests列表
print(guests)

输出结果为:

['Li si','Wang wu','Zhao liu','Zhang san']

编程要求

  • 实现相应的功能。具体要求如下:

1.step 1:将guests列表末尾的元素删除,并将这个被删除的元素值保存到deleted_guest变量;
2.step 2:将deleted_guest插入到 step 1 删除后的guests列表索引位置为2的地方;
3.step 3:将 step 2 处理后的guests列表索引位置为1的元素删除;
打印输出 step 1 的deleted_guest变量;
打印输出 step 3 改变后的guests列表。

测试说明

测试输入:

zhang san
li si
wang wu
tan qi
hu ba

预期输出:

hu ba
['zhang san', 'hu ba', 'wang wu', 'tan qi']

上代码:

如果注释理解有误,请大佬们多多评论指教!!

Python——列表元素的增删改相关推荐

  1. 后浪小萌新Python --- 列表中的增删改

    一.增 在列表中添加元素 append 在列表的最后添加指定的元素(不会产生新的数据, 是直接修改原列表) 语法: 列表.append(元素) 举例: names = ['路飞', '佐罗', '罗宾 ...

  2. python列表元素都加倍_关于python列表增加元素的三种操作方法

    关于python列表增加元素的三种操作方法 1.insert方法,该方法包含两个参数,第一个参数为插入的位置参数,第二个参数为插入内容 a = [0,0,0] b = [1,2,3] a.insert ...

  3. python+sqlite3-数据库增删改查操作

    python+sqlite3-数据库增删改查操作 目录 python+sqlite3-数据库增删改查操作 01.sqlite数据库 02.下载数据库可视化工具 03.创建数据库 04.python连接 ...

  4. 易语言超级列表框的增删改查

    易语言超级列表框的基本用法介绍 首先新建一个超级列表框 右键列表框,插入4列,分别为 序号.姓名.分数.备注 现在列表框的框架已经有了,接下来插入数据. 如何插入数据 在列表项的最前面插入数据代码 超 ...

  5. 基于python的SQLite数据库增删改查

    与其他数据库管理系统不同,SQLite不是一个客户端/服务器结构的数据库引擎,而是一种嵌入式数据库,他的数据库就是一个文件.SQLite将整个数据库,包括定义.表.索引以及数据本身,作为一个单独的.可 ...

  6. python列表元素如何求和

    python实现列表对应元素求和的两种方法. 方法一:采用zip()方法: 1 2 3 4 5 6 7 8 9 10 11 12 # -*- coding: utf-8 -*- import math ...

  7. python敲七游戏代码_Python_day04_2018.7.5-(Lis列表的介绍,增删改查)

    一.列表 1.列表的介绍 lst = [    ]   可以存放不同类型的数据. 2.索引和切片-------和字符串的索引切片类似. lst = ["麻花藤","王健林 ...

  8. python列表元素交换位置_python删除列表元素5种方法,你会的是错误法还是最优解?...

    删除列表元素很多同学想当然的认为不就是循环遍历加上if判断再del吗?真的有这么简单吗? 还是直接上代码看案例吧: import time# 删除下面列表中所有张姓元素,输出的结果应该是['李老大', ...

  9. dom对html增删改操作,6.DOM对HTML元素的增删改操作

    节点的增删改操作 function createNode(){ //创建一个li元素 var li = document.createElement("li"); li.inner ...

最新文章

  1. ATS 5.3.0中parent.config配置文件解读
  2. 日程来了!2021年佛山敏捷之旅暨第1届佛山DevOps社区Meetup
  3. [置顶] mkdir函数-linux
  4. html评论置顶功能,微信公众号精选留言评论怎么置顶显示?功能在哪里设置?...
  5. Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)
  6. ibm liberty_使用Eclipse和Open Liberty的Java EE 8上的Java 9
  7. JMM模型到并发编程
  8. nginx的upstream模块安装
  9. 随想录(学习英文的好处)
  10. Material Design(九)--CoordinatorLayout和App Bar
  11. Nssm Edit XXX
  12. c++ string
  13. python系统学习_【Python系统学习】基础篇
  14. springmuvc如何设置jsp的input跳转_小程序有链接吗?如何获取小程序的链接?
  15. kuangbin新模板错误
  16. Android Studio 安装TinyPng插件
  17. JavaScript+随机选号
  18. 怎么用计算机测试手速,火凤凰游戏APM实时手速测试器
  19. 免驱 usb有线网卡_2020年末台式机amp;笔记本无线网卡最全选购指南amp;攻略,打造极致WIFI体验!...
  20. ios微信多开 服务器,iOS微信双开(多开)

热门文章

  1. 沉睡者IT - 为你解密那些卖虚拟资源和知识付费课程的平台到底有多简单和多赚钱。
  2. 目标检测篇-FPN论文精读
  3. a[b:]和a[:b]
  4. 炉石传说怎么修改服务器,云服务器 炉石传说
  5. Android平台dalvik模式下java Hook框架ddi的分析(1)
  6. android 壁纸改变回调,Android Launcher分析和修改13——实现Launcher编辑模式(1) 壁纸更换...
  7. BCEWithLogitsLoss
  8. 杰理之音箱方案喇叭输出底噪大【篇】
  9. 有趣的三次握手和四次挥手问题
  10. 微生物组-宏基因组分析专题研讨会(2022.4,线下)