将元组的元素添加到列表中:

thislist = ["apple", "banana", "cherry"]
thistuple = ("kiwi", "orange")
thislist.extend(thistuple)
print(thislist)

remove() 方法用于移除指定的项目。

示例,移除 "banana":

thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")
print(thislist)

如果存在多个具有指定值的项目,则 remove() 方法将删除第一个出现的项目:

示例,移除第一个出现的 "banana":

thislist = ["apple", "banana", "cherry", "banana", "kiwi"]
thislist.remove("banana")
print(thislist)

pop() 方法用于移除指定的索引。

示例,移除第二个项目:

thislist = ["apple", "banana", "cherry"]
thislist.pop(1)
print(thislist)

如果不指定索引,pop() 方法将移除最后一个项目。

示例,移除最后一个项目:

thislist = ["apple", "banana", "cherry"]
thislist.pop()
print(thislist)

使用 del 关键字也可以移除指定的索引:

示例,移除第一个项目:

thislist = ["apple", "banana", "cherry"]
del thislist[0]
print(thislist)

del 关键字还可以完全删除列表。

示例,删除整个列表:

thislist = ["apple", "banana", "cherry"]
del thislist

clear() 方法用于清空列表。列表仍然存在,但没有内容。

示例,清空列表内容:

thislist = ["apple", "banana", "cherry"]
thislist.clear()
print(thislist)

通过列表进行循环,您可以使用 for 循环遍历列表项:

示例,逐个打印列表中的所有项目:

thislist = ["apple", "banana", "cherry"]
for x in thislist:
print(x)

您还可以通过引用它们的索引编号来遍历列表项。使用 range() 和 len() 函数创建一个合适的可迭代对象。

示例,通过引用它们的索引编号打印所有项目:

thislist = ["apple", "banana", "cherry"]
for i in range(len(thislist)):
print(thislist[i])

上面示例中创建的可迭代对象是 [0, 1, 2]。您可以使用 while 循环遍历列表项。使用 len() 函数来确定列表的长度,然后从 0 开始,通过引用它们的索引遍历列表项。记得在每次迭代后将索引增加 1。

示例,使用 while 循环打印所有项目,通过遍历所有索引编号:

thislist = ["apple", "banana", "cherry"]
i = 0
while i < len(thislist):
print(thislist[i])
i = i + 1

列表推导式在您想要基于现有列表的值创建新列表时提供了更短的语法。

示例:假设有一个水果列表,您想要一个新列表,其中仅包含名称中带有字母 "a" 的水果。

如果不使用列表推导式,您将不得不编写一个带有条件测试的 for 语句:

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [] for x in fruits:
if "a" in x:
newlist.append(x) print(newlist)

使用列表推导式,您只需要一行代码就可以完成所有操作:

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "a" in x]

print(newlist)

语法

newlist = [expression for item in iterable if condition == True]

返回值是一个新列表,不会改变旧列表。条件就像一个筛选器,只接受计算结果为 True 的项目。

示例,仅接受不是 "apple" 的项目:

newlist = [x for x in fruits if x != "apple"]

条件 if x != "apple" 会对除了 "apple" 之外的所有元素返回 True,使新列表包含除 "apple" 之外的所有水果。条件是可选的,可以省略:

示例,没有 if 语句:

newlist = [x for x in fruits]

可迭代对象可以是任何可迭代的对象,如列表、元组、集合等。

示例,您可以使用 range() 函数创建一个可迭代对象:

newlist = [x for x in range(10)]

同样的示例,但带有条件:

示例,只接受小于 5 的数字:

newlist = [x for x in range(10) if x < 5]

表达式是迭代中的当前项目,但它也是结果,您可以在最终成为新列表中的列表项之前对其进行操作:

示例,将新列表中的值设置为大写:

newlist = [x.upper() for x in fruits]

您可以将结果设置为您喜欢的任何内容:

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

Python 列表操作指南2的更多相关文章

  1. 比较详细Python正则表达式操作指南(re使用)

    比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...

  2. Python天天美味(15) - Python正则表达式操作指南(re使用)(转)

    http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...

  3. python 列表排序

    转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...

  4. python列表、元祖、字典

    python列表   ['a','1','vs2']       里面的值可以改 python元祖   ('a','1','css','sdf12')   里面的值不能改 python字典   {'s ...

  5. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  6. Python 列表

    python 列表 列表的特点 1.列表是一种可变的数据类型,这点是跟元组有区别的 2.列表中的值是有序的,并且可存放重复的值,这点跟set有区别的 3.python中的列表类似于其它语言中的数组 4 ...

  7. python 列表生成器

    python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...

  8. [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  9. Python 列表如何获得一个指定元素所在的下标

    在使用Python3.4读取txt数据到列表,由于编码问题,读取到的数据通常会出现'\ufeffX'(x为你想要的数据).这时候如果需要把列表中的数据由字符串转换到数值型的数据的进行数据分析的话就会出 ...

  10. python列表的常用操作方法

    主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...

随机推荐

  1. 【Azure 应用服务】VS2019发布应用到正在运行的App Service时失败问题的解决

    问题描述 在VS 2019中配置号App Service的Publish Profile后,发布应用出现错误.根据VS 2019中的输出消息可知有文件正在运行中,无法被替换,所以发布失败. 问题解决 ...

  2. 【Azure Developer】使用Key Vault的过程中遇见的AAD 认证错误

    在使用应用程序访问Key Vault获取密钥信息时,现后遇见了多种认证错误.使用的代码为: String keyVaultUrl = "https://test-xxx.vault.azur ...

  3. 一个利用go反向代理解决api转发的例子(go反向代理)

    实现的效果: 如果访问的url路径是类似 /163/  或 /163/debian 的形式,则转发到163开源镜像服务器 直接上代码: package main import ( "fmt& ...

  4. Java 常用类 String的使用

    1 package com.bytezero.stringclass; 2 3 import com.sun.tools.javac.Main; 4 import jdk.jfr.StackTrace ...

  5. 闭关修炼180天----吐血整理MongoDB的学习笔记

    MongoDB 一.MongoDB体系结构 1.1 mongoDB和NoSql mongoDB是一种NoSql,是文档存储的代表. mongoDB是一个基于分布式文件存储的数据库.为web应用提供可扩 ...

  6. 【LLM】大模型落地-从理论到实践

    简述 按个人偏好和目标总结了学习目标和路径(可按需学习),后续将陆续整理出相应学习资料和资源. 学习目标 熟悉主流LLM(Llama, ChatGLM, Qwen)的技术架构和技术细节:有实际应用RA ...

  7. Linux Socket 摘要(二)(基于TCP的C/S基本实现,相关基础知识,非阻塞select)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  8. 【atcoder 293 F - Erase Subarrays】【动态规划】

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public ...

  9. NJUPT自控第一次积分赛的小总结(一)题目感受

    快开学了事情真的好多啊 -_- 忙完积分赛就赶紧要去复习期末了...线代还是依托答辩啥都不懂 先看题目吧,RT,我们队(我)选择的是第一题(仅仅是因为很简单罢啦) 一开始看题目,心想不就调调pid吗, ...

  10. 专访虚拟人科技:如何利用 3DCAT 实时云渲染打造元宇宙空间

    自古以来,人们对理想世界的探索从未停止,而最近元宇宙的热潮加速了这一步伐,带来了许多新的应用.作为元宇宙的关键入口,虚拟现实(VR)将成为连接虚拟和现实的桥梁.苹果发布的VISION PRO头戴设备将 ...