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.hqwc.cn/news/538536.html

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

相关文章

文本三剑客 awk

1. 工作原理: 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。 sed命令常用于一整行的处理,而awk比较倾向于将一行分成多个“字段”然…

Java初阶数据结构队列的实现

1.队列的概念 1.队列就是相当于排队打饭 2.在排队的时候就有一个队头一个队尾。 3.从队尾进对头出 4.所以他的特点就是先进先出 所以我们可以用链表来实现 单链表实现要队尾进队头出{要有last 尾插头删} 双向链表实现效率高:不管从哪个地方当作队列都是可以的&…

配置安装 Kuboard - kubernetes

目录 安装 Kuboard v3 - kubernetes | Kuboard 将官方yaml文件拿到本地 等待 Kuboard v3 就绪 访问 Kuboard 安装 Kuboard v3 - kubernetes | Kuboard Kuboard的官方非常丰富,大家也可以参考官网教程 将官方yaml文件拿到本地 ​kubectl apply -f https://add…

自动化测试 —— 基于Jmeter之DDT!

DDT(Date-Driven Testing)数据驱动测试,这个名词中高级测试人群应该都略有耳闻。它是一种自动化测试方法,原理就是通过数据的改变驱动自动化数据的执行。在数据驱动测试中,每一条数据就是一条测试用例【测试人员提前编…

gitee分支管理,合并冲突

1、gitee展示分支 git branch 2、展示远程分支 git branch -r 3、新建分支 git branch base 4、切换分支 git checkout base 合并冲突 当代码在服务器上被提交了,再在本地提交会提示报错 点击merge

TikTok新手如何起号?环境因素与内容创新技巧

相信很多刚入行的TikTok玩家都遇到过一个难题,那就是账号权重低,播放量在个位数徘徊,其实都是因为还没起号!那么具体如何起号呢?下面小编也给大家分享一下技巧。 一、如何起号 1、明确注册 TikTok 账号的目的 无论是…

Vulnhub靶机:Kioptrix_Level1.2

一、介绍 运行环境:Virtualbox 攻击机:kali(192.168.56.101) 靶机:Kioptrix_Level1.2(192.168.56.106) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vul…

kibana新增查看更新删除es中的数据

登录kibana,打开开发工具 写入数据 PUT test20240311/person/1 {"name": "张三","mobile":"13011111111" } 查询数据 GET /test20240311/person/_search {"query": {"term": {"mobile": {…

Linux环境下安装DGL及其CUDA

前段时间看到一篇AAAI2024的论文Patch-wise Graph Contrastive Learning for Image Translation,它采用GNN的思想来进行image-to-image translation的任务,非常的新颖,但我进行复现的时候,发现直接下载它里面需要的DGL库是无法运行…

(学习日记)2024.03.10:UCOSIII第十二节:多优先级

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

中国城市统计年鉴、中国县域统计年鉴、中国财政统计年鉴、中国税务统计年鉴、中国科技统计年鉴、中国卫生统计年鉴​

统计年鉴是指以统计图表和分析说明为主,通过高度密集的统计数据来全面、系统、连续地记录年度经济、社会等各方面发展情况的大型工具书来获取统计数据资料。 统计年鉴是进行各项经济、社会研究的必要前提。而借助于统计年鉴,则是研究者常用的途径。目前国…

透视地下世界:管道挖掘切面可视化的革命性突破

在城市化进程不断加速的今天,地下管道作为城市“生命线”的重要组成部分,其安全、高效运行显得尤为关键。然而,传统的管道挖掘与检测方式往往存在着诸多不足,如效率低下、安全隐患大等。如今,随着技术的飞速发展&#…