Python 如何在索引之间循环列表
我想用索引循环列表,循环时,我想让循环考虑开始索引和最后索引,尽管它尊重开始索引,但不尊重最后索引。我正在尝试的代码如下:Python 如何在索引之间循环列表,python,python-3.x,loops,for-loop,Python,Python 3.x,Loops,For Loop,我想用索引循环列表,循环时,我想让循环考虑开始索引和最后索引,尽管它尊重开始索引,但不尊重最后索引。我正在尝试的代码如下: arr = [0,1,2,3,4,5,6,7,8,9] for i in arr[4:8]: print(i) 实际结果: 4 5 6 7 预期结果: 4 5 6 7 8 您需要有一个“战略性的”+1,因为Python中的切片排除了最后一个元素: for i in arr[4:8 + 1]: print(i) 您需要有一个“战略性的”+1,
arr = [0,1,2,3,4,5,6,7,8,9]
for i in arr[4:8]:
print(i)
实际结果:
4
5
6
7
预期结果:
4
5
6
7
8
您需要有一个“战略性的”+1
,因为Python中的切片排除了最后一个元素:
for i in arr[4:8 + 1]:
print(i)
您需要有一个“战略性的”+1
,因为Python中的切片排除了最后一个元素:
for i in arr[4:8 + 1]:
print(i)
在python中,切片结束索引是不包含的 比如说
print(list(range(4,8))
#[4, 5, 6, 7]
#won't include 8
在大多数情况下,这就足够了
对于特定用例,您可能需要将“1”添加到索引中
for i in arr[start_index:end_index+1]:
print(i)
在python中,切片结束索引是不包含的 比如说
print(list(range(4,8))
#[4, 5, 6, 7]
#won't include 8
在大多数情况下,这就足够了
对于特定用例,您可能需要将“1”添加到索引中
for i in arr[start_index:end_index+1]:
print(i)
4:8
是四项。为什么您希望它是五个项目?这就是在Python中如何定义切片(对于标准库的对象)。您必须在结束索引中添加一个。结束索引在列表片段中不包含。我可以问另一个问题-为什么您对片段的结尾在7
,而对片段的开头在4
感到惊讶?片0:4
必须在3
处停止,以便片4:8
可以在4
处开始-否则整个系统没有任何意义4:8
是四项。为什么您希望它是五个项目?这就是在Python中如何定义切片(对于标准库的对象)。您必须在结束索引中添加一个。结束索引在列表片段中不包含。我可以问另一个问题-为什么您对片段的结尾在7
,而对片段的开头在4
感到惊讶?切片0:4
必须在3
处停止,以便切片4:8
可以在4
处开始-否则整个系统没有任何意义