当前位置: 首页 > article >正文

列表的简介

1.列表是什么

列表由一系列按特定顺序排列的元素组成。不仅可以创建包含字母表中所有字母、数字或所有家庭成员列表,还可以将任何东西加入列表,其中元素之间可以没有任何关系。

在Python中,用方括号表示列表,用逗号分隔其中的元素。

test = ["name",12,"redline"]
print(test)

1.1访问列表元素

列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将后者放在括号内 

test = ["name",12,"redline"]
print(test[0])

1.2 索引从0而不是1开始

在Python中,第一个列表元素的索引为0,而不是1。

test = ["name",12,"redline"]
print(test[0])
print(test[1])
print(test[2])

Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回最后一个列表元素。

test = ["name",12,"redline"]
print(test[-1])

这个语法在你不知道列表长度的情况下访问最后的元素。这种约定也适用于其他负数索引。

1.3使用列表中的各个值

你可以像使用其他变量一样使用列表中的各个值。比如,可以使用f字符串根据列表中的值来创建消息。

2.修改、添加和删除元素

2.1修改列表元素

修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该索引位置上的新值,直接覆盖原本的函数。

test = ["name",12,"redline"]
print(test)
test[1]="love"
print(test)

2.2在列表中添加元素

2.2.1在列表末尾添加元素

在列表中添加新元素时,最简单的方式是将元素追加到列表末尾。

变量+.append(“…”)

对象.方法名(…) 

append()方法将元素添加到列表末尾,而不影响列表中的其他所有元素。

test = ["name",12,"redline"]
test.append("love")
print(test)

这个方法直接修改原列表,不需要重新进行赋值。

2.2.2在列表中插入元素

需要提供指定新元素的索引和值

变量+insert(位置,新元素)

test = ["name",12,"redline"]
test.insert(1,"love")
print(test)

这个操作是将列表中已经存在的元素都右移一个位置。

2.3从列表中删除元素

2.3.1使用del语句删除元素

如果指导要删除的元素在列表中的位置,可使用del语句

del+位置

test = ["name",12,"redline"]
test.insert(1,"love")
print(test)
del test[2]
print(test)

使用del可删除任意位置的列表元素,只需知道其索引即可。

使用del语句将值从列表中删除后,你就无法访问它了。

2.3.2使用pop()方法删除元素

有时候我们需要将元素从列表中删除,并接着使用它的值。

pop()方法删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

变量.pop()

test = ["name",12,"redline"]
new=test.pop()
print(test)
print(new)

2.3.3删除列表中任意位置的元素

实际上,也可以使用pop()删除列表中任意位置元素,只需要在括号中指定要删除的元素的索引即可。

变量.pop(位置)

test = ["name",12,"redline"]
new=test.pop(0)
print(test)
print(new)

判断标准:如果要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果要在删除元素后继续使用它,就使用pop()方法。

2.3.4根据值删除元素

有时候我们不知道要从列表中删除的值在那个位置。如果只知道要删除的元素的值,可使用remove()方法。

直接在原列表上生效,不应该对变量重新赋值。

变量.remove(值)

test = ["name",12,"redline"]
test.remove(12)
print(test)
test.remove("name")
print(test)

使用remove()从列表中删除元素后,也可继续使用它的值。 

注意:remove()方法只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环,确保将每个值都删除。

3.管理列表

3.1使用sort()方法对列表进行永久排序

Python方法sort()可以轻松的对列表进行排序

变量.sort()

test = ["name","love","redline"]
test.sort()
print(test)

sort()方法能永久地修改列表元素的排序顺序。

还可以按与字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数,reverse=True即可。

test = ["name","love","redline"]
test.sort(reverse=True)
print(test)

3.2使用sorted()函数对列表进行临时排序

要保留列表元素原来的排列顺序,并以特定的顺序呈现它们,可使用sorted()函数。sorted()函数让你能够按特定顺序显示列表元素,同时不影响它们在列表中的排列顺序。

test = ["name","love","redline"]
print(test)
print(sorted(test))
print(test)

注意:在调用sorted()函数后,列表元素的排列顺序并没有变化。如果要按与字母顺序相反的顺序显示列表,也可向sorted()函数传递参数reverse=True。

3.3反向打印列表

要反转列表元素的排列顺序,可使用reverse()方法。

变量.reverse()

test = ["name","love","redline"]
print(test)
test.reverse()
print(test)

注意:reverse()不是按与字母顺序相反的顺序排列列表元素,只是反转列表元素的排列顺序。

reverse()方法会永久地修改列表的排列顺序,但可以随时恢复到原来的排列顺序,只需对列表再次调用reverse()即可。

3.4确定列表的长度

使用len()函数可快速获悉列表的长度,并返回列表里元素的数量。

test = ["name","love","redline"]
len(test)
print(len(test))

4.练习

练习1:姓名

将一些朋友的姓名存储在一个列表中,并将其命名为names。并将每个人的姓名打印下来。

names = ["xiaoyu","xiaochen","xiaoliu"]
print(names[0])
print(names[1])
print(names[2])

练习2:问候语

根据练习1向每人发一句问候语 。每条都包含相同的问候语,但最前面应是朋友的姓名。

names = ["xiaoyu","xiaochen","xiaoliu"]
greeting = "hello "
print(greeting+ names[0])
print(greeting+ names[1])
print(greeting+ names[2])

练习3:嘉宾名单

邀请任何一个人共进晚餐,并打印下来。

names = ["xiaoyu","xiaochen","xiaoliu"]
invite = "一起吃个饭吧? "
print(invite+ names[0])
print(invite+ names[1])
print(invite+ names[2])

练习4:修改嘉宾名单

刚得知有位嘉宾无法赴约,因此要邀请另外一位嘉宾。

names = ["xiaoyu","xiaochen","xiaoliu"]
print(names[0]+ "不能赴约")
names[0]="xiaoyuan"
invite = "一起吃个饭吧? "
print(invite+ names[0])
print(invite+ names[1])
print(invite+ names[2])

练习5:添加嘉宾

想要邀请更多的嘉宾来一起吃饭。

names = ["xiaoyu","xiaochen","xiaoliu"]
print("找到了更大的餐桌! ")
names.insert(0,"xiaolin")
names.insert(2,"xiaozhang")
names.append("xiaodeng")
invite = "一起吃个饭吧? "
print(invite+ names[0])
print(invite+ names[1])
print(invite+ names[2])
print(invite+ names[3])
print(invite+ names[4])
print(invite+ names[5])


http://www.kler.cn/a/531001.html

相关文章:

  • woocommerce独立站与wordpress独立站的最大区别是什么
  • 阿里云盘PC端打不开解决办法
  • 大厂面试题备份20250201
  • SQL NOW() 函数详解
  • DeepSeek Janus-Pro:多模态AI模型的突破与创新
  • C++模板初了解
  • 新月军事战略分析系统使用手册
  • Linux中的基本指令(二)
  • Deep Crossing:深度交叉网络在推荐系统中的应用
  • 洛谷 P8724 [蓝桥杯 2020 省 AB3] 限高杆
  • 深入理解Java虚拟线程的同步编程模型
  • C++泛型编程指南09 类模板实现和使用友元
  • CSS整体回顾
  • 自动驾驶---两轮自行车的自主导航
  • 【Linux系统】—— make/makefile
  • RRT_STAR路径规划代码
  • 差分数组的学习
  • 7-2 拯救外星人
  • DeepSeek R1 AI 论文翻译
  • C# 结构体介绍
  • Maven的三种项目打包方式——pom,jar,war的区别
  • 【系统性能】2.1 整机卡顿初探
  • 兼容性测试笔记
  • selenium记录Spiderbuf例题C03
  • Macos编译openjdk因berkeley-db版本问题失败解决办法
  • 为什么命令“echo -e “\033[9;0]“ > /dev/tty0“能控制开发板上的LCD不熄屏?