python基础——列表【创建,下标索引,常见操作方法】

📝前言:
这篇文章主要讲解一下python中常见的数据容器之一——列表
本文主要讲解列表的创建以及我们常用的列表操作方法

🎬个人简介:努力学习ing
📋个人专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:且视他人之疑目如盏盏鬼火,大胆去走你的夜路


文章目录

  • 一,什么是列表
  • 二,列表的创建
  • 三,列表的下标索引访问
    • 1,访问普通的列表
    • 2,访问嵌套的列表
  • 四,列表的常见操作方法
    • 1,查找元素(index)
    • 2,增加元素
      • (1)在列表末尾追加(append)
      • (2)在队尾追加多个元素(extend)
      • (3)在指定位置插入元素(insert)
    • 3,删除元素
      • (1)直接删除(del)
      • (2)删除并返回(pop)
      • (3)删除对应内容(remove)
      • (4)清空列表(clear)
    • 4,统计某元素出现的次数(count)
    • 9, 统计列表全部元素的个数(len)

一,什么是列表

首先,列表是什么?
在Python中,列表(List)是一种有序、可变的集合数据类型,可以存储任意类型的元素,包括数字、字符串、布尔值、甚至其他列表。列表允许重复的元素,也可以包含混合类型的元素。

从上面我们可以提取出列表的以下几个特点:
1,可以容纳多个数据(上限为2**63-1、9223372036854775807个)
2,可以容纳不同类型的数据(混装)
3,数据是有序存储的(有下标序号)
4,允许重复数据存在
5,可以修改(增加或者删除元素)

二,列表的创建

列表的创建是通过方括号 [] 以及逗号分隔符,来实现的。例如:

my_list = [1, 2, 3, "apple", True] # 这里创建了一个存放着不同数据类型的列表

三,列表的下标索引访问

如果对下标索引不太了解的朋友可以先看这篇文章C语言——数组,里面有对下标索引的详细介绍。

1,访问普通的列表

在python中,元素的下标:从前向后,是从0开始,但是也可以反向索引:从后向前,是从-1开始
以下是一个使用列表下标索引的简单示例:

# 创建一个列表
my_list = [1, 2, 3, 4, 5]# 使用下标索引来获取列表中的元素
first_element = my_list[0]  # 结果是1
second_element = my_list[1]  # 结果是2

在这个例子中,我们首先创建了一个包含5个整数的列表 my_list
然后,我们使用下标索引 [0][1] 来获取列表中的第一个和第三个元素,并将它们分别赋值给变量 first_elementsecond_element

(注意:超出列表范围的索引会引发错误)

2,访问嵌套的列表

例如:

# 定义一个嵌套的列表
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]# 访问嵌套列表中的元素
first_element = nested_list[0][0]  # 第一个列表中的第一个元素
second_element = nested_list[1][2]  # 第二个列表中的第三个元素
third_list = nested_list[2]  # 第三个列表print(first_element, second_element, third_list)

输出结果:
在这里插入图片描述
[0][0]:先找外层列表的第一个元素——列表,再找内层第一个列表的第一个元素
[1][2]:先找外层列表的第二个元素——列表,再找内层第二个列表的第三个元素
[3]:外层列表的第三个元素——列表

四,列表的常见操作方法

1,查找元素(index)

index()方法:用于从列表中查找指定元素的索引,但是如果列表不包含此元素,则会引发 ValueError
语法:

list.index(value, [start, [stop]]) # []代表可选

value:要从列表中查找的元素。
start:开始查找的位置。默认值为0。
stop:停止查找的位置。默认值为列表的长度。
返回值:返回指定元素在列表中的索引。

示例:

my_list = [1, 2, 3, 4, 5]# 查找元素3的索引
index = my_list.index(3)
print(index)  # 输出 2

(注意:如果列表中有多个相同的指定元素,index() 方法仅返回第一个出现该元素的索引。)

2,增加元素

(1)在列表末尾追加(append)

append()方法:将一个值添加到列表的末尾,并返回修改后的列表。
(注意:append()方法是直接修改原始列表,而不是创建一个新列表。)
语法:

list.append(element)

list 是一个列表对象。
element 是要添加到列表末尾的元素。

示例一:

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

添加的元素还可以是一个列表
示例二:

my_list = [1, 2, 3]
sub_list = [4, 5]
my_list.append(sub_list)
print(my_list)  # 输出:[1, 2, 3, [4, 5]]

(2)在队尾追加多个元素(extend)

extend() 方法来扩展列表,即在列表的末尾添加其他列表或其他元素。
(注意:extend() 方法会直接修改原始列表,而不是创建一个新的列表。)
语法:

list.extend(iterable)

iterable:要添加到列表末尾的元素序列。(不可是字符串或者字典)

示例:

# 创建一个列表
lst = [1, 2, 3]# 使用 extend() 方法扩展列表
lst.extend([4, 5, 6])  # 将另一个列表扩展到原始列表的末尾
print(lst)  # 输出:[1, 2, 3, 4, 5, 6]# 尝试扩展一个字符串,会引发 TypeError
try:lst.extend("Hello")
except TypeError as e:print(f"Error: {e}")

(3)在指定位置插入元素(insert)

insert() 方法来插入一个元素到指定的位置。
(注意:insert() 方法会直接修改原始列表,而不是创建一个新的列表。)
语法

list.insert(index, element)

index:指定插入的位置。(下标)
element:要插入的元素。

示例:

# 创建一个列表
lst = [1, 2, 3, 4]# 使用 insert() 方法插入元素
lst.insert(1, 1.5)  # 在索引 1 处插入 1.5
print(lst)  # 输出:[1, 1.5, 2, 3, 4]

3,删除元素

(1)直接删除(del)

del 语句用于从列表中删除指定下标的元素,不会返回被删除的元素。
(直接修改原始列表)
语法:

del list[下标]

示例:

lst = [1, 2, 3, 4, 5]
del lst[1]  # 删除索引为1的元素,即2
print(lst)  # 输出:[1, 3, 4, 5]

(2)删除并返回(pop)

pop() 方法用于从列表中删除指定下标的元素,会返回被删除的元素。
(直接修改原始列表)
语法:

list.pop(下标)

示例:

lst = [1, 2, 3, 4, 5]
removed_element = lst.pop(1)  # 删除索引为1的元素,并返回该元素
print(lst)  # 输出:[1, 3, 4, 5]
print(removed_element)  # 输出:2

(3)删除对应内容(remove)

remove() 方法用于删除某元素在列表中的第一个匹配项,如果元素不在列表中,这个方法不会引发错误。
(直接修改原始列表)
语法:

list.remove(元素)

示例:

numbers = [1, 2, 3, 4, 5, 3]
numbers.remove(3)
print(numbers)  # 输出 [1, 2, 4, 5, 3]

(4)清空列表(clear)

clear() 方法用于清空列表中的所有元素。
语法:

list.clear()

示例:

numbers = [1, 2, 3, 4, 5]
numbers.clear()
print(numbers)  # 输出 []

4,统计某元素出现的次数(count)

count()统计某元素出现的数量
语法:

list.count(元素)

示例:

fruits = ["apple", "banana", "cherry", "apple"]
count = fruits.count("apple")
print(count)  # 输出 2

9, 统计列表全部元素的个数(len)

len()用于统计列表中全部元素的个数
语法:

len(列表)

示例:

fruits = ["apple", "banana", "cherry"]
count = len(fruits)
print(count)  # 输出 3

下面做一个小总结,方便大家随时查阅功能:
在这里插入图片描述


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

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

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

相关文章

泰迪智能科技3月线上培训计划

有学习意向可到 泰迪智能科技官网 咨询了解

Visual Basic6.0零基础教学(3)—焦点概念和深入学习属性

焦点概念和深入学习属性 文章目录 焦点概念和深入学习属性前言一、什么是焦点(Focus)?焦点的特点 二、窗体属性一、窗体的结构二、窗体的属性三、事件四、方法 一.控件属性一. 标签 Label二.文本框 TextBox2.常用事件 三.命令按钮事件 总结 前言 今天我们来继续学习VB中的属性…

Java全系工程源码加密,防止反编译

一、前言 在大约2015年左右,由于公司产品序列逐渐增加,涉及到N多项目部署交付,为了有效防止产品被滥用,私自部署,当时技术中心决定开发一套统一的授权认证管理系统,对公司所有产品序列进行 License 控制。…

Kotlin:为什么创建类不能被继承

一、为什么创建类不能被继承 class或data class 默认情况下,Kotlin 类是最终(final)的:它们不能被继承。 示例:data class PsersonBean 反编译data class PsersonBean 生成 public final class PsersonBean 示例&…

材料科学类3区SCI,仅13天超快上线见刊,国人友好!!

录用案例 JCR3区材料类SCI (3.31截稿) 【期刊简介】IF:3.0-4.0,JCR3区,中科院4区; 【检索情况】SCI在检; 【征稿领域】低温环境下新型生物降解材料的开发相关或结合研究均可; 【案例分享】重要时间节点…

伪分布式Spark集群搭建

一、软件环境 软 件 版 本 安 装 包 VMware虚拟机 16 VMware-workstation-full-16.2.2-19200509.exe SSH连接工具 FinalShell Linux OS CentOS7.5 CentOS-7.5-x86_64-DVD-1804.iso JDK 1.8 jdk-8u161-linux-x64.tar.gz Spark 3.2.1 spark-3.2.1-bin-…

PostgreSQL YUM安装

docker中的centos7中安装 选择对应的版本然后在容器中的centos7中执行下面命令 但是启动容器的时候需要注意 开启端口映射开启特权模式启动init进程 docker run -itd --name centos-postgresql -p 5433:5432 --privilegedtrue centos:centos7 /usr/sbin/init 启动然后进入后先…

java SSM在线学习网站系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM在线学习网站系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用…

【基于HTML5的网页设计及应用】——改变文字和背景颜色

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

有手就会Python自定义模块使用

1.自定义模块 自定义模块一般是在项目中根据自己的需求进行的封装 项目中自定义了额一个模块,module.py name "张三" age 23 weight 160 height 187 def test(): print("测试的方法") def demo(): print("天使的眼泪") …

2024年Twitter上最值得关注的26名顶级程序员

2023年7月23日,在Twitter发布17年后,马斯克在Twitter上表示,是时候将该平台更名为X了。 对很多人来说,Twitter是一个分享他们对社会新闻或人生重大事件的想法的地方,这里也是紧跟文化潮流、获取全球最新消息的最佳方式…

如何更简捷地在 Java 中进行函数式编程

public static void findNemo(List names) { boolean found false; for(String name : names) { if(name.equals(“Nemo”)) { found true; break; } } if(found) System.out.println(“Found Nemo”); else System.out.println(“Sorry, Nemo not found”); } …

392.判断子序列

题目:给定字符串s和t,判断s是否为t 的子序列。 字符串的一个子序列是原始字符串删除一些字符而不改变剩余字符相对位置形成的新字符串。 解题思路:s是否是 t 的子序列,因此只要能找到任意一种 s 在 t 中出现的方式,即…

代码随想录day19(1)二叉树:完全二叉树节点个数(leetcode222)

题目要求:求一个完全二叉树的节点个数 思路:首先完全二叉树可以用普通二叉树的方法来求,但是需要遍历所有的节点。 但是对于完全二叉树来说,只有最底层右侧的节点可能没满,其余每层节点都达到了最大值。所以我们可以…

Nwatch在stm32上的移植

目录 Nwatch在stm32上的移植前言实验目的移植game1_task任务相关代码片段结果本文中使用的工程 Nwatch在stm32上的移植 本文目标:Nwatch在stm32上的移植 按照本文的描述,应该可以跑通实验并举一反三。 先决条件:装有编译和集成的开发环境&…

Linux进程状态

目录 1.R运行状态(running) 2.S睡眠状态(sleep) 3.T或t状态(stopped 或 tracing stop) 4.Z状态(zombie)(僵尸进程) 1.R运行状态(running&…

Self-supervised Contextual Keyword and Keyphrase Retrieval with Self-Labelling

文章目录 题目摘要方法数据集实验 题目 通过自我标记进行自我监督的上下文关键字和关键词短语检索 论文地址:https://www.preprints.org/manuscript/201908.0073/v1 项目地址:https://github.com/naister/Keyword-OpenSource-Data 摘要 在本文中&#x…

反向传播 — 简单解释

一、说明 关于反向传播,我有一个精雕细刻的案例计划,但是实现了一半,目前没有顾得上继续充实,就拿论文的叙述这里先起个头,我后面将修改和促进此文的表述质量。 二、生物神经元 大脑是一个由大约100亿个神经元组成的复…

寄存器(内存访问)

文章目录 寄存器(内存访问)1 内存中字的存储2 DS和[address]3 字的传送4 mov、add、sub指令5 数据段6 栈7 CPU提供的栈机制8 栈顶超界的问题9 push、pop指令10 栈段 寄存器(内存访问) 1 内存中字的存储 CPU中,用16位寄…

pycharm安装配置运行py代码与命令行运行

命令行(winr cmd python) 三个小箭头表示可以运行py代码 什么是解释器 文字翻译二进制 你对电脑说 我爱你 电脑不知道什么意思 你对电脑说 111001101000100010010001 111001111000100010110001 111001001011110110100000 电脑便知道了你爱它 那么如何给计算机说这些二进制串…