gpt4 book ai didi

python - 是否有更有效的方法将一个列表从另一个列表的中心分割出来?

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:42 24 4
gpt4 key购买 nike

我编写这段代码是为了将一个列表从另一个列表的中心切出来,它似乎可以工作,但我觉得可能可以更整齐、更有效地做到这一点(可能通过列表理解)?

def get_middle(num, val_list):
idx_val = (int(num/2) , int(num/2 + num%2))
center_idx = int((len(val_list) - 1)/2)
idx_one, idx_two = center_idx-idx_val[0], center_idx+idx_val[1]
return val_list[idx_one:idx_two]


test_list = [1,2,3,4,5,6,7]
test_num = 3
new_list = get_middle(test_num , test_list )
print(new_list)

上述代码的输出为:[3, 4, 5]

最佳答案

代码:

def get_middle(num, sequence):
m = (len(sequence) - 1)//2 - num//2
return sequence[m:m+num]


test_list = [1, 2, 3, 4, 5, 6, 7]
test_num = 3
print(get_middle(test_num, test_list))

输出:

[3, 4, 5]

关于python - 是否有更有效的方法将一个列表从另一个列表的中心分割出来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59602676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com