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

Python-列表

3.1 列表是什么

在Python中,列表是一种非常重要的数据结构,用于存储一系列有序的元素。列表中的每个元素都有一个索引,索引从0开始。列表可以包含任何类型的元素,包括其他列表。
 

# 创建一个列表

my_list = [1, 2, 3, 'four', 5.0]

# 访问列表元素

first_element = my_list[0]

last_element = my_list[-1]

# 打印元素

print("First element:", first_element)

print("Last element:", last_element)

3.2 修改、添加和删除元素

列表是可变的,这意味着你可以修改、添加或删除列表中的元素。

3.2.1 修改列表元素

你可以通过索引来修改列表中的元素。

# 修改列表元素

my_list[0] = 10

print(my_list) # 输出: [10, 2, 3, 'four', 5.0]

3.2.2 在列表中添加元素

你可以使用`append()`方法来向列表末尾添加元素,或者使用`insert()`方法在指定位置插入元素。

# 向列表末尾添加元素

my_list.append(6)

print(my_list) # 输出: [10, 2, 3, 'four', 5.0, 6]

# 在指定位置插入元素

my_list.insert(2, 'new')

print(my_list) # 输出: [10, 2, 'new', 3, 'four', 5.0, 6]

3.2.3 从列表中删除元素

你可以使用`remove()`方法来删除列表中的元素,或者使用`pop()`方法删除并返回指定位置的元素。
 

# 删除列表中的元素

my_list.remove('new')

print(my_list) # 输出: [10, 2, 3, 'four', 5.0, 6]

# 删除并返回指定位置的元素

removed_element = my_list.pop(4)

print("Removed element:", removed_element)

print(my_list) # 输出: [10, 2, 3, 'four', 6]

3.3 管理列表

列表提供了多种方法来管理和操作列表中的元素。

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

`sort()` 方法会直接修改列表,并按升序排列元素。
 

# 对列表进行排序

my_list.sort()

print(my_list) # 输出: [2, 3, 6, 10, 'four']

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

`sorted()` 函数不会修改原列表,而是返回一个新的排序后的列表。

# 使用 sorted() 函数

sorted_list = sorted(my_list)

print(sorted_list) # 输出: [2, 3, 6, 10, 'four']

print(my_list) # 输出: [2, 3, 6, 10, 'four'] (未被修改)

3.3.3 反向打印列表

你可以使用切片来反向打印列表。

# 反向打印列表

reversed_list = my_list[::-1]

print(reversed_list) # 输出: ['four', 10, 6, 3, 2]

3.3.4 确定列表的长度

你可以使用 `len()` 函数来确定列表的长度。

# 获取列表长度

list_length = len(my_list)

print("List length:", list_length)

3.4 使用列表时避免索引错误

当你访问列表元素时,确保索引在有效范围内,以避免 `IndexError`。

try:

    print(my_list[10]) # 尝试访问不存在的索引

except IndexError:

    print("Index out of range")

3.5 小结

本章介绍了Python中的列表及其基本操作。列表是一种非常灵活的数据结构,可以用来存储和管理各种类型的数据。通过掌握列表的操作方法,你可以更高效地处理数据。

 


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

相关文章:

  • GenAI 在金融服务领域的应用:2025 年的重点是什么
  • qt-Quick3D笔记之官方例程Runtimeloader Example运行笔记
  • Office / WPS 公式、Mathtype 公式输入花体字、空心字
  • C++范围for和auto关键字
  • RK3568使用QT操作LED灯
  • DeepSeek-R1 论文解读 —— 强化学习大语言模型新时代来临?
  • HTB:LinkVortex[WriteUP]
  • STM32 AD多通道
  • 一文讲解Java中的ArrayList和LinkedList
  • 【Convex Optimization Stanford】Lec4 CVX-opt-promblem
  • os开发基础知识(1)
  • 计算机视觉:解锁智能时代的钥匙与实战案例
  • .Net WebAPI -[HttpPut(“{fileServiceId:int}“)]
  • 【数据结构】_时间复杂度相关OJ(力扣版)
  • 使用Visual Studio打包Python项目
  • 北京门头沟区房屋轮廓shp的arcgis数据建筑物轮廓无偏移坐标测评
  • 【机器学习】自定义数据集 使用scikit-learn中svm的包实现svm分类
  • RK3568使用QT操作LED灯
  • 2025年1月22日(网络编程 udp)
  • 动手学强化学习(四)——蒙特卡洛方法
  • vue之pinia组件的使用
  • AtCoder Beginner Contest 391(ABCDE)
  • Alibaba开发规范_编程规约之命名风格
  • 22.Word:小张-经费联审核结算单❗【16】
  • C_C++输入输出(下)
  • gesp(C++六级)(9)洛谷:P10721:[GESP202406 六级] 计算得分