Python - K 元素反向切片

pythonserver side programmingprogramming更新于 2023/12/29 15:47:00

反向切片的定义方式是创建一个以字符串长度开始并以第 0 个索引结束的切片。对于反转列表元素,它将使用负值表示法,这样我们就可以得到原始列表元素的反向顺序。在 Python 中,我们有一些内置函数,例如 append()、len(),并且 range() 将用于解决 K 元素反向切片。

语法

示例中使用了以下语法-

append()

Python 中的此内置方法可用于将元素添加到列表末尾。

len()

内置函数 len() 用于返回对象的长度。

range()

range() 是 Python 中的内置函数,它根据给定的范围返回数字序列。

reversed()

reversed() 是 Python 中的一个内置函数,它以相反的顺序返回给定的列表元素。

使用切片

在下面的例子中,我们将使用一个名为 rev_slice 的函数启动程序,该函数接受参数 r_list 和 k 来接收输入值。接下来,使用切片符号,根据 K 值反转元素并获得所需的结果。

示例

def rev_slice(r_list, k):
    return r_list[-k:][::-1]
test_list = [2, 4, 20, 40, 60, 80]
k = 2
output = rev_slice(test_list, k)
print("基于 K 元素的反向切片:\n", 输出)

输出

基于 K 元素的反向切片:[80, 60]

使用 reversed()

在下面的例子中,我们将使用递归函数,该函数在需要时会调用自身。接下来使用内置函数 reversed() 接受参数 t_list[-k:],以列表形式反转所有元素。

示例

def rev_slice(t_list, k):
    return list(reversed(t_list[-k:]))
test_list = [1, 2, 3, 4, 5]
# 初始化 K 值
k = 2
# 调用函数
output = rev_slice(test_list, k)
print("以下 K 元素反转:", output)

输出

以下 K 元素反转:[5, 4]

使用列表推导式

以下示例中,程序使用列表使用 for 循环的理解,其中变量 i 遍历输入列表,并使用内置函数 range() 简化从开始到结束的索引序列。要反转 K 元素,它将使用切片符号 [::-1]。

示例

def rev_slice(t_list, k):
    return [t_list[i] for i in range(len(t_list) - k, len(t_list))][::-1]
test_list = [2, 4, 20, 40, 11, 12]
k = 4
res = rev_slice(test_list, k)
print("K 个反向元素是 -",res)

输出

K 个反向元素是 - [12, 11, 40, 20]

使用 range() 和 append()

在下面的例子中,我们将使用递归函数 rev_slice() 启动程序,该函数接受两个参数 - t_list 和 k,它们将接收输入列表元素和 k 值以对反向切片进行操作。接下来,在变量 reversed_slice 中使用空列表,该列表将用于存储最终结果。然后使用 for 循环,其中变量 i 借助某些内置函数(例如 range() 和 len())遍历输入列表。继续返回 reversed_slice 以获取特定的列表元素。

示例

def rev_slice(t_list, k):
    reversed_slice = []
    for i in range(len(t_list) - 1, len(t_list) - k - 1, -1):
        reversed_slice.append(t_list[i])
    return reversed_slice
test_list = [10, 20, 30, 40, 50, 60, 70, 80]
k = 3
res = rev_slice(test_list, k)
print("以下 K 个反向元素:", res)

输出

以下 K 个反向元素:[80, 70, 60]

结论

我们探索了 Python 中的 K 元素反向切片,它提供了一种获取列表子集的简单方法。它用于处理大型数据集,以相反的顺序提取列表的精确部分。这种类型的代码解决了需要以反向方式分析数据的特定任务。


相关文章