Python 有没有更有效的方法将一个列表从另一个列表的中心切掉?
我写这段代码是为了把一个列表从另一个列表的中心切掉,这似乎是可行的,但我觉得这样做可能更简洁、更有效(可能是通过列表理解)Python 有没有更有效的方法将一个列表从另一个列表的中心切掉?,python,list,list-comprehension,slice,Python,List,List Comprehension,Slice,我写这段代码是为了把一个列表从另一个列表的中心切掉,这似乎是可行的,但我觉得这样做可能更简洁、更有效(可能是通过列表理解) 上述代码的输出是:[3,4,5]是的,您可以在一行中完成 test_list[len(test_list)//2-test_num//3:len(test_list)//2+test_num//3+1] 当然,必须根据test_num的奇偶性和列表长度的奇偶性进行一些调整。是的,您可以在一行中完成 test_list[len(test_list)//2-test_num/
上述代码的输出是:
[3,4,5]
是的,您可以在一行中完成
test_list[len(test_list)//2-test_num//3:len(test_list)//2+test_num//3+1]
当然,必须根据test_num的奇偶性和列表长度的奇偶性进行一些调整。是的,您可以在一行中完成
test_list[len(test_list)//2-test_num//3:len(test_list)//2+test_num//3+1]
当然,必须根据test_num的奇偶性和列表长度的奇偶性进行一些调整。代码:
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]
输出:
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]
代码:
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]
输出:
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]
您对
[1,2,3,4,5,6]
的预期输出是什么<代码>[3,4,5]或[2,3,4]
?@donkopotamus预期输出为[3,4,5]
。您对[1,2,3,4,5,6]
的预期输出是什么<代码>[3,4,5]或[2,3,4]
?@donkopotamus预期输出为[3,4,5]
。