📅  最后修改于: 2023-12-03 15:04:18.218000             🧑  作者: Mango
在大多数编程语言中,数组和列表的索引都是从0开始的。但是在Python中,这个规则不适用于所有情况。
Python中的列表和元组都是从0开始索引的,与大多数编程语言相同。例如,如果我们有一个包含四个元素的列表,我们可以使用以下索引访问每个元素:
my_list = ['apple', 'banana', 'orange', 'peach']
print(my_list[0]) # 输出 'apple'
print(my_list[1]) # 输出 'banana'
print(my_list[2]) # 输出 'orange'
print(my_list[3]) # 输出 'peach'
同样的规则也适用于元组:
my_tuple = ('cat', 'dog', 'bird', 'hamster')
print(my_tuple[0]) # 输出 'cat'
print(my_tuple[1]) # 输出 'dog'
print(my_tuple[2]) # 输出 'bird'
print(my_tuple[3]) # 输出 'hamster'
与列表和元组不同,Python中的字符串和字节数组的索引是从0和-1开始的。这意味着,如果我们有一个由字符串或字节数组组成的序列,我们可以使用以下索引访问每个元素:
my_string = 'hello world'
print(my_string[0]) # 输出 'h'
print(my_string[-1]) # 输出 'd'
my_bytes = b'\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64'
print(my_bytes[0]) # 输出 72 (对应 ASCII 同义词为 'H')
print(my_bytes[-1]) # 输出 100 (对应 ASCII 同义词为 'd')
在这里,-1代表字符串或字节数组中的最后一个元素,而0代表第一个元素。
Python中range()函数是一个常用的函数,用于生成指定范围的数字序列。当我们调用range()函数时,我们可以传入一个开始值、结束值和可选的步长参数。但是,开始值并不总是从0开始。
例如,如果我们想要生成一个从10到19的数字序列,我们可以传入10和20作为起点和终点:
my_range = range(10, 20)
for i in my_range:
print(i)
这将输出以下内容:
10
11
12
13
14
15
16
17
18
19
在这里,range(10,20) 如同包含从10到19的数字序列。
因此,Python中的规则是:在某些情况下,范围不从0开始。具体来说,在字符串和字节数组中,第一个元素的索引为0,最后一个元素的索引为-1。而对于列表、元组和range函数的产生的序列,索引从0开始。