迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中将列表分成两半

作者:迹忆客 最近更新:2023/02/01 浏览次数:

Python 中将列表分成两半:

  1. 使用列表切片并将停止索引设置为列表的长度 floor 除以 2 以获得前半部分。
  2. 使用列表切片并将起始索引设置为列表的长度 floor 除以 2 以获得后半部分。
my_list = [2, 4, 6, 8]

first_half = my_list[:len(my_list)//2]
print(first_half)  # 👉️ [2, 4]

second_half = my_list[len(my_list)//2:]
print(second_half)  # 👉️ [6, 8]

len() 函数返回对象的长度(项目数)。

my_list = [2, 4, 6, 8]

print(len(my_list))  # 👉️ 4

为了获得列表的前半部分,我们使用了列表切片并将停止索引设置为列表的长度 floor 除以 2。

列表切片的语法是 my_list[start:stop:step]

start 索引是包含的,stop 索引是排他的(直到,但不包括)。

my_list = [2, 4, 6, 8]

first_half = my_list[:len(my_list)//2]
print(first_half)  # 👉️ [2, 4]

我们使用 floor 除法从除法中得到一个整数结果。

整数除法 / 产生一个浮点数,而整数除法 // 产生一个整数。

使用 floor 除法运算符的结果是对结果应用 floor() 函数的数学除法。

my_num = 50

print(my_num / 5)  # 👉️ 10.0 (float)
print(my_num // 5)  # 👉️ 10 (int)

列表的长度除以 2 等于 2,因此第一个切片选择前 2 个元素。

my_list = [2, 4, 6, 8]

first_half = my_list[:len(my_list)//2]
print(first_half)  # 👉️ [2, 4]

second_half = my_list[len(my_list)//2:]
print(second_half)  # 👉️ [6, 8]

stop 索引是不包含的(直到但不包括),因此第一个切片从索引 0 开始并上升到但不包括索引 2。

下半部分从索引 2 开始,一直到列表的末尾。

如果我们必须经常这样做,请将逻辑提取到可重用的函数中。

def split_in_half(l):
    length = len(l)

    return (
        l[:length//2],
        l[length//2:]
    )


my_list = [2, 4, 6, 8]

first, second = split_in_half(my_list)

print(first)  # 👉️ [2, 4]
print(second)  # 👉️ [6, 8]

该函数接受一个列表,将其分成两半并返回包含两半的元组。

将列表分成两半的另一种方法是在切片列表时使用步长值。

my_list = [2, 4, 6, 8]

first_half = my_list[::2]
print(first_half)  # 👉️ [2, 6]

second_half = my_list[1::2]
print(second_half)  # 👉️ [4, 8]

切片 my_list[::2] 从索引 0 开始,每隔一个选择列表中的一项。

切片 my_list[1::2] 从索引 1 开始,每隔一个选择列表中的一项。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的 Pandas 插入方法

发布时间:2024/04/23 浏览次数:112 分类:Python

本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。

Pandas 重命名多个列

发布时间:2024/04/22 浏览次数:199 分类:Python

本教程演示了如何使用 Pandas 重命名数据框中的多个列。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便