在 Python 中交换列表的元素
列表是 Python 中的可变(可变)数据结构,用于存储有序的项目集合。 在本文中,我们将了解几种交换列表元素的不同方法。
在 Python 中使用赋值运算符交换列表的元素
交换元素列表的最简单和最常用的方法之一是通过赋值运算符和逗号。
在下面的代码中,我们创建了一个列表,并使用赋值运算符交换索引 1 和索引 3 的值,该运算符会将赋值运算符右侧的相应值分配给左侧变量。
示例代码:
#Python 3.x
list = [6, 2, 7, 8]
print('list before swapping:', list)
list[1], list[3] = list[3], list[1]
print('list after swapping:', list)
输出:
list before swapping: [6, 2, 7, 8]
list after swapping: [6, 8, 7, 2]
使用赋值运算符,我们一次只能交换两个变量的值。 如果我们想交换多个值,我们可以使用循环来完成。
在下面的代码中,变量 i 和 j 将保存要交换的元素的索引。 索引 0 和 3 的值将在第一次迭代中交换,索引 4 和 6 的元素将在第二次迭代中交换。
示例代码:
#Python 3.x
list = [6, 2, 7, 8, 5, 9, 10, 3, ]
print('list before swapping:', list)
for i,j in [(0,3),(4,6)]:
list[i], list[j] = list[j], list[i]
print('list after swapping:', list)
输出:
list before swapping: [6, 2, 7, 8, 5, 9, 10, 3]
list after swapping: [8, 2, 7, 6, 10, 9, 5, 3]
在 Python 中使用第三个变量交换列表的元素
如果我们不使用第一种方法直接交换元素,我们总是需要第三个变量。 第三个变量将暂时保存索引的值,因为我们将在交换后在实际索引中丢失它。
在下面的代码中,我们将索引 1 的值赋给了 temp 变量,将索引 3 的值赋给了索引 1。然后我们将 temp 的值(索引 1 的存储值)赋给了索引 3。
示例代码:
#Python 3.x
list = [6, 2, 7, 8]
print('list before swapping:', list)
temp = list[1]
list[1] = list[3]
list[3] = temp
print('list after swapping:', list)
输出:
list before swapping: [6, 2, 7, 8]
list after swapping: [6, 8, 7, 2]
在 Python 中使用 pop() 函数交换列表的元素
带有列表的 pop()
函数从指定索引中删除并返回值。 在下面的代码中,我们使用它们的索引从列表中弹出两个元素,并将返回值存储到两个变量中。
这里很重要的一点是,我们使用索引 1 删除了值 2,但是我们使用索引 2 清除了值 8。因为我们从列表中弹出一个项目后,它总共会有三个元素。
因此 8 的索引将为 2。最后,我们通过以相反顺序指定索引将这些值再次插入到列表中。
示例代码:
#Python 3.x
list = [6, 2, 7, 8]
print('list before swapping:', list)
val1 = list.pop(1)
val2 = list.pop(2)
list.insert(1, val2)
list.insert(2, val1)
print('list after swapping:', list)
输出:
list before swapping: [6, 2, 7, 8]
list after swapping: [6, 8, 7, 2]
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串