Python 拼接列表在向后工作时不包括第一个元素
Python splicing list does not include first element when working backwards
new_list = [i + 1 for i in range(16)]
sec_list = new_list[(len(new_list) - 2):0:-2]
print(new_list)
print(sec_list)
实际输出
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
[15, 13, 11, 9, 7, 5, 3]
期望输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
[15, 13, 11, 9, 7, 5, 3, 1] <---- I want the 1 to be present
只是想澄清一下这是如何工作的。我以为[开始:结束:increment/decrement]
这就是您所需要的
sec_list = new_list[(len(new_list) - 2)::-2]
print(sec_list) # [15, 13, 11, 9, 7, 5, 3, 1]
你在第二个参数中犯了一个错误:
new_list[(len(new_list) - 2):0:-2]
开始:(len(new_list) - 2)
停止:0
步骤:-2
这意味着您停止了 0 项,这就是为什么没有包括 1 项的原因
你也可以阅读这篇文章there
new_list = [i + 1 for i in range(16)]
sec_list = new_list[(len(new_list) - 2):0:-2]
print(new_list)
print(sec_list)
实际输出
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
[15, 13, 11, 9, 7, 5, 3]
期望输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
[15, 13, 11, 9, 7, 5, 3, 1] <---- I want the 1 to be present
只是想澄清一下这是如何工作的。我以为[开始:结束:increment/decrement]
这就是您所需要的
sec_list = new_list[(len(new_list) - 2)::-2]
print(sec_list) # [15, 13, 11, 9, 7, 5, 3, 1]
你在第二个参数中犯了一个错误:
new_list[(len(new_list) - 2):0:-2]
开始:(len(new_list) - 2)
停止:0
步骤:-2
这意味着您停止了 0 项,这就是为什么没有包括 1 项的原因
你也可以阅读这篇文章there