在 Python 中将列表分成两半
Python 中将列表分成两半:
- 使用列表切片并将停止索引设置为列表的长度
floor
除以 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 开始,每隔一个选择列表中的一项。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。