Python学习:列表

Python 列表概念

在Python中,列表(List)是一种有序、可变、允许重复元素的数据结构。列表使用方括号 ​[]​来表示,可以包含任意类型的元素,如整数、字符串、列表等。
在这里插入图片描述

Python 访问列表中的值

在Python中,要访问列表中的值,你可以使用索引和切片。以下是一些例子:

  1. 使用索引访问单个值
    你可以使用列表的索引来访问单个元素。索引从0开始,负数索引表示从列表末尾开始逆向索引。
my_list = ['apple', 'banana', 'cherry', 'date']

print(my_list[0])   # 输出:'apple'
print(my_list[2])   # 输出:'cherry'
print(my_list[-1])  # 输出:'date'
  1. 使用切片访问多个值
    你可以使用切片操作访问列表中的多个元素,语法为list[start:stop:step],如果不指定startstop,将从开头或结尾开始切片。
print(my_list[1:3])  # 输出:['banana', 'cherry']
print(my_list[:2])   # 输出:['apple', 'banana']
print(my_list[2:])   # 输出:['cherry', 'date']
print(my_list[::2])  # 输出:['apple', 'cherry']
  1. 遍历列表中的值
    可以使用for循环遍历列表中的所有值。
for item in my_list:
    print(item)

Python 更新列表

在这里插入图片描述

在Python中,你可以使用多种方式来更新列表,包括添加元素、修改元素、删除元素等操作。以下是对每种操作的详细解释:

  1. 添加元素

    • 使用append()方法在列表末尾添加一个元素。这个方法会将指定的元素追加到列表的末尾。

      my_list = [1, 2, 3]
      my_list.append(4)  # 在列表末尾添加元素4
      print(my_list)  # 输出:[1, 2, 3, 4]
      
    • 使用extend()方法添加一个可迭代对象的元素到列表末尾。可迭代对象可以是一个列表、元组、集合等。

      my_list = [1, 2, 3]
      my_list.extend([4, 5])  # 在列表末尾添加可迭代对象[4, 5]
      print(my_list)  # 输出:[1, 2, 3, 4, 5]
      
    • 使用加号运算符(+)合并两个列表。

      my_list1 = [1, 2, 3]
      my_list2 = [4, 5]
      new_list = my_list1 + my_list2  # 合并两个列表
      print(new_list)  # 输出:[1, 2, 3, 4, 5]
      
  2. 修改元素

    要修改列表中的元素,你可以通过索引直接赋值为新的元素。

    my_list = [1, 2, 3]
    my_list[1] = 4  # 修改索引为1的元素为4
    print(my_list)  # 输出:[1, 4, 3]
    
  3. 删除元素

    • 使用remove()方法删除列表中指定值的元素。如果有多个相同值的元素,它只会删除第一个出现的。

      my_list = [1, 2, 3]
      my_list.remove(2)  # 删除值为2的元素
      print(my_list)  # 输出:[1, 3]
      
    • 使用pop()方法删除索引指定的元素,并返回被删除的元素。如果不传递索引,默认删除最后一个元素。

      my_list = [1, 2, 3]
      popped_elem = my_list.pop(1)  # 删除索引为1的元素
      print(popped_elem)  # 输出:2
      print(my_list)  # 输出:[1, 3]
      
    • 使用del关键字删除指定索引的元素或删除整个列表。

      my_list = [1, 2, 3]
      del my_list[1]  # 删除索引为1的元素
      print(my_list)  # 输出:[1, 3]
      
      del my_list  # 删除整个列表
      # print(my_list)  # 报错:NameError: name 'my_list' is not defined
      

Python 列表脚本操作符

在Python中,列表支持多种脚本操作符,可以用于对列表进行复制、连接、重复等操作。以下是一些常用的列表脚本操作符:

  1. 加法运算符(+

    • 用于连接(合并)两个列表,生成一个新的包含两个列表元素的列表。
    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    new_list = list1 + list2
    print(new_list)  # 输出:[1, 2, 3, 4, 5, 6]
    
  2. 乘法运算符(*

    • 用于重复列表的元素,生成一个包含重复元素的新列表。
    list3 = [1, 2, 3]
    repeated_list = list3 * 3
    print(repeated_list)  # 输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]
    
  3. 成员运算符(innot in

    • 用于检查某个元素是否存在于列表中。
    list4 = [1, 2, 3, 4, 5]
    print(2 in list4)       # 输出:True
    print(6 not in list4)   # 输出:True
    

Python 列表截取与拼接

在Python中,列表截取和拼接是常用的操作,可以用于获取列表的子集或合并多个列表。以下是对列表截取和拼接的详细解释:

列表截取:

你可以使用索引和切片来截取列表的子集。列表的索引从0开始,可以是负数(表示倒数第几个元素),切片通过start:end:step的方式指定范围。

my_list = [1, 2, 3, 4, 5]

# 获取单个元素
print(my_list[0])  # 输出:1

# 切片获取子列表
print(my_list[1:4])  # 输出:[2, 3, 4]
print(my_list[:3])   # 输出:[1, 2, 3]
print(my_list[2:])   # 输出:[3, 4, 5]
print(my_list[-3:])  # 输出:[3, 4, 5]

# 使用步长获取间隔元素
print(my_list[::2])  # 输出:[1, 3, 5]

# 获取列表的副本(深拷贝)
new_list = my_list[:]  # 等同于 new_list = list(my_list)

列表拼接:

你可以使用加号运算符(+)来拼接两个或多个列表。拼接后将生成一个新的列表,包含所有被拼接的元素。

list1 = [1, 2, 3]
list2 = [4, 5, 6]
concatenated_list = list1 + list2
print(concatenated_list)  # 输出:[1, 2, 3, 4, 5, 6]

需要注意的是,列表拼接会生成一个新的列表,而不会修改原始列表。

Python 嵌套列表

在Python中,嵌套列表指的是将一个列表作为另一个列表的元素,形成多层次的嵌套结构。这种嵌套结构允许你在一个列表中存储更复杂的数据结构,例如列表的列表。以下是关于嵌套列表的一些示例和解释:

创建嵌套列表:

nested_list = [[1, 2, 3], ['a', 'b', 'c'], [True, False]]

上面的nested_list就是一个包含3个子列表的嵌套列表。每个子列表可以有不同长度,包含不同类型的元素。

访问嵌套列表的元素:

你可以使用多重索引来访问嵌套列表中的元素,每个索引对应一个层级。

nested_list = [[1, 2, 3], ['a', 'b', 'c'], [True, False]]
print(nested_list[0][1])  # 输出:2
print(nested_list[1][2])  # 输出:'c'
print(nested_list[2][0])  # 输出:True

遍历嵌套列表:

你可以使用嵌套循环来遍历嵌套列表中的元素。

nested_list = [[1, 2, 3], ['a', 'b', 'c'], [True, False]]
for inner_list in nested_list:
    for element in inner_list:
        print(element)

操作嵌套列表:

你可以向嵌套列表中添加新的子列表,或者修改已有的子列表的元素。

nested_list = [[1, 2, 3], ['a', 'b', 'c']]
nested_list.append([True, False])  # 添加新的子列表
nested_list[0][1] = 5  # 修改某个子列表中的元素

Python 列表比较

在Python中,你可以使用比较运算符对列表进行比较。下面是一些常用的列表比较方式:

  1. 相等性比较(==!=

    • 用于检查两个列表是否相等或不相等。
    list1 = [1, 2, 3]
    list2 = [1, 2, 3]
    print(list1 == list2)  # 输出:True
    print(list1 != list2)  # 输出:False
    
  2. 大小比较(<, <=, >, >=

    • 可以按照字典顺序逐个元素比较两个列表的元素。从第一个开始比较,如果找到一个位置两个列表的元素不相等,则根据不等元素的比较结果确定整体列表的比较结果。
    list3 = [1, 2]
    list4 = [1, 3]
    print(list3 < list4)  # 输出:True,因为 2 < 3
    
  3. 成员身份测试(innot in

    • 可以测试一个列表是否包含某个特定元素。
    list5 = [1, 2, 3]
    print(2 in list5)      # 输出:True
    print(4 not in list5)  # 输出:True
    

注意,在Python中,列表比较是逐个元素进行比较的,如果两个列表的所有元素一一对应相等,则认为这两个列表相等,否则根据比较结果确定大小关系。

Python列表函数&方法

在Python中,列表(List)是一个非常常用且功能丰富的数据类型,具有许多内置的函数和方法可以对列表进行操作。以下是一些常用的列表函数和方法:

列表函数:

  1. len(): 返回列表中元素的个数。

    my_list = [1, 2, 3, 4, 5]
    print(len(my_list))  # 输出:5
    
  2. max(): 返回列表中的最大值。

    my_list = [10, 5, 8, 20]
    print(max(my_list))  # 输出:20
    
  3. min(): 返回列表中的最小值。

    my_list = [10, 5, 8, 20]
    print(min(my_list))  # 输出:5
    
  4. sum(): 返回列表所有元素的和(仅当列表内元素为数值型)。

    my_list = [1, 2, 3, 4, 5]
    print(sum(my_list))  # 输出:15
    

列表方法:

  1. append(): 在列表末尾添加一个新元素。

    my_list = [1, 2, 3]
    my_list.append(4)
    print(my_list)  # 输出:[1, 2, 3, 4]
    
  2. extend(): 将另一个列表中的元素逐个添加到当前列表的末尾。

    list1 = [1, 2]
    list2 = [3, 4]
    list1.extend(list2)
    print(list1)  # 输出:[1, 2, 3, 4]
    
  3. insert(): 在指定位置插入一个元素。

    my_list = [1, 2, 3]
    my_list.insert(1, 5)
    print(my_list)  # 输出:[1, 5, 2, 3]
    
  4. pop(): 移除并返回指定位置的元素(默认为最后一个元素)。

    my_list = [1, 2, 3]
    element = my_list.pop()
    print(element)  # 输出:3
    print(my_list)  # 输出:[1, 2]
    

还有很多其他列表函数和方法可供使用。

关注我,不迷路,共学习,同进步

关注我,不迷路,共学习,同进步
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BI(商业智能):开启数据驱动的未来

在当今信息时代&#xff0c;企业和组织面临着大量的数据和信息。这些数据包含了各种各样的信息&#xff0c;从市场趋势和消费者行为到销售数据和供应链信息。对于企业而言&#xff0c;利用这些数据来做出明智的决策&#xff0c;提高效率和竞争力变得尤为重要。而商业智能&#…

Learn OpenGL 22 高级光照与Gamma校正

高级光照 Blinn-Phong 冯氏光照不仅对真实光照有很好的近似&#xff0c;而且性能也很高。但是它的镜面反射会在一些情况下出现问题&#xff0c;特别是物体反光度很低时&#xff0c;会导致大片&#xff08;粗糙的&#xff09;高光区域。下面这张图展示了当反光度为1.0时地板会…

JS+CSS3点击粒子烟花动画js特效

JSCSS3点击粒子烟花动画js特效 JSCSS3点击粒子烟花动画js特效

docker harbor.v2.9.2搭建镜像无法下载问题解决

在通过部署docker harbor时&#xff0c;采用的是离线包的方式&#xff0c;当解压压缩包后&#xff0c;执行prepare脚本步骤中有一步是要获取prepare:v2.9.2版本镜像 结果执行脚本时报如下错误&#xff1a; Unable to find image goharbor/prepare:v2.9.2 locally 这时候我们就…

若依ruoyi-vue中的文件上传和下载

文章目录 文件上传后端实现前端实现 文件下载后端实现前端实现 在若依&#xff08;Ruoyi&#xff09;框架中&#xff0c;结合 Vue 前端框架&#xff0c;文件的上传和下载通常使用以下方法实现&#xff1a; 文件上传 若依现成的功能里面没有文件上传&#xff0c;但是集成了文件…

探索智慧农业项目方案,开启农业智能化新篇章

1. 背景 随着科技的飞速发展和全球人口的不断增长&#xff0c;传统农业模式已难以满足日益增长的粮食和农产品需求。同时&#xff0c;气候变化、资源短缺等环境问题也对农业生产带来了巨大挑战。因此&#xff0c;智慧农业作为一种集成了现代信息技术和农业生产的创新模式&#…

位图与布隆过滤器

目录 一、位图 1、问题用位图来解决&#xff1a; 二、 布隆过滤器 1、将哈希与位图结合&#xff0c;即布隆过滤器 2.布隆过滤器的查找 3.布隆过滤器的删除 4.布隆过滤器优点 5、布隆过滤器缺陷 三、海量数据处理问题&#xff1a; 一、位图 问题1&#xff1a;给40亿个不…

【阅读论文】When Large Language Models Meet Vector Databases: A Survey

摘要 本调查探讨了大型语言模型&#xff08;LLM&#xff09;和向量数据库&#xff08;VecDB&#xff09;之间的协同潜力&#xff0c;这是一个新兴但迅速发展的研究领域。随着LLM的广泛应用&#xff0c;出现了许多挑战&#xff0c;包括产生虚构内容、知识过时、商业应用成本高昂…

day01_mysql_课后练习 - 参考答案

文章目录 day01_mysql_课后练习第1题第2题第3题第4题第5题 day01_mysql_课后练习 第1题 案例&#xff1a; 1、创建数据库day01_test01_library 2、创建表格books 字段名字段说明数据类型允许为空唯一b_id书编号int(11)否是b_name书名varchar&#xff08;50&#xff09;否否…

章节10实验--Ubuntu18.04 Qt MySQL libqsqlmysql.so

前言: 内容参考《操作系统实践-基于Linux应用与内核编程》一书的示例代码和教材内容&#xff0c;所做的读书笔记。本文记录再这里按照书中示例做一遍代码编程实践加深对操作系统的理解。 引用: 《操作系统实践-基于Linux应用与内核编程》 作者&#xff1a;房胜、李旭健、黄…

SAP SD模块影响MRP结果的几个因素

后台最近会收到小伙伴的私信说,我的销售订单已经下达了,但是MRP仍然没有跑出结果,没有跑出需求。遇到这种情况我们就需要一个个地方去进行分析,看哪里的数据存在问题,系统的配置存在问题导致的。接下来文章中将会分析SD销售模块哪些配置点会影响到MRP的运行。 1、首先遇到…

【Web】浅聊Hessian异常toString姿势学习复现

目录 前言 利用关键 调用分析 如何控制第一个字节 EXP 前言 Hessian CVE-2021-43297&#xff0c;本质是字符串和对象拼接导致隐式触发了该对象的 toString 方法&#xff0c;触发toString方法便可生万物&#xff0c;而后打法无穷也&#xff01; 这个CVE针对的是Hessian2I…

5G智能网关助力工业铸造设备监测升级

随着物联网技术的迅猛发展和工业4.0浪潮的推进&#xff0c;传统工业正面临着严峻的转型升级压力。在这一背景下&#xff0c;铸造行业——这一典型的传统重工业领域&#xff0c;也必须积极探索借助5G、物联网、边缘计算等技术提升生产经营效率的新路径。 本文就基于佰马合作伙伴…

C++初阶 | [九] list 及 其模拟实现

摘要&#xff1a;介绍 list 容器&#xff0c;list 模拟实现&#xff0c;list与vector的对比 list&#xff08;带头双向循环列表&#xff09; 导入&#xff1a;list 的成员函数基本上与 vector 类似&#xff0c;具体内容可以查看相关文档(cplusplus.com/reference/list/list/)&…

美食杂志制作秘籍:引领潮流,引领味蕾

美食杂志是一种介绍美食文化、烹饪技巧和美食体验的杂志&#xff0c;通过精美的图片和生动的文字&#xff0c;向读者展示各种美食的魅力。那么&#xff0c;如何制作一本既美观又实用的美食杂志呢&#xff1f; 首先&#xff0c;你需要选择一款适合你的制作软件。比如FLBOOK在线制…

网络电视盒子哪个品牌好?2024畅销电视盒子排行榜

电视盒子的品牌和产品非常多&#xff0c;让新手在选购时难度增大&#xff0c;大部分消费者在此时会选择参考销量排名情况&#xff0c;小编这次结合各个电商平台的销量和用户评价整理了电视盒子排行榜&#xff0c;想买电视盒子不知道网络电视盒子哪个品牌好可以收藏。 TOP 1.泰捷…

Model-Free Optimal Tracking Control via Critic-Only Q-Learning

Model-Free Optimal Tracking Control via Critic-Only Q-Learning Biao Luo, Member, IEEE, 2016&#xff0c;Derong Liu, Fellow, IEEE, Tingwen Huang, and Ding Wang, Member, IEEE 对非仿射非线性离散时间系统&#xff0c;提出model-free最优跟踪控制问题。仅有评价网络的…

算法刷题Day14 | 二叉树理论、递归遍历、迭代遍历、统一迭代

目录 0 引言1 递归遍历1.1 前序遍历1.2 后序遍历1.3 中序遍历 2 迭代遍历2.1 前序和后序2.2 中序 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;算法专栏&#x1f4a5; 标题&#xff1a;算法刷题Day14 | 二叉树理论、递归遍历、迭代遍历、统一迭…

[Linux_IMX6ULL应用开发]-Makefile

目录 Makefile的规则 Makefile的语法 通配符 假想目标 变量 Makefile的函数 foreach函数 filter和filter-out wildcard patsubst 修改头文件无法make解决 CFLAGS Makefile的规则 当我们在使用gcc进行编译链接的时候&#xff0c;我们需要手动在shell窗口键入命令。比…

大模型“说胡话”现象辨析

在人工智能快速发展的今天&#xff0c;大型深度学习模型已成为自然语言处理领域的核心力量。然而&#xff0c;随着这些模型规模的不断扩大和功能的日益增强&#xff0c;一种被称为“说胡话”的现象也愈发引人关注。这种现象不仅影响了模型在实际应用中的效果&#xff0c;也引发…