Python 3.x 在python中同时使用range和length函数
只想了解使用-range(len())进行索引的逻辑 例如,我有Python 3.x 在python中同时使用range和length函数,python-3.x,range,Python 3.x,Range,只想了解使用-range(len())进行索引的逻辑 例如,我有mylist=[1,2,3,4,5] 所以这里->len(mylist)应该是5 而范围(len(mylist))将是(0,5) 但是,计算机开始从0as位置读取:makemylist 0到4 其中mylist[4]=5 因此,我们在这里使用range(len(mylist)-1来正确设置范围,以便索引? 如果我不清楚,请道歉(初学者) 谢谢。Range 让我们看看范围 查看帮助部分的内容。您可以通过键入python3然后键入hel
mylist=[1,2,3,4,5]
所以这里->len(mylist)
应该是5
而范围(len(mylist))
将是(0,5)
但是,计算机开始从0
as位置读取:makemylist 0到4
其中mylist[4]=5
因此,我们在这里使用range(len(mylist)-1
来正确设置范围,以便索引?
如果我不清楚,请道歉(初学者)
谢谢。Range
让我们看看范围
查看帮助部分的内容。您可以通过键入python3
然后键入help(range)
从终端获得帮助。要退出帮助,请按q
。要退出终端,请键入quit()
以下是相关的帮助区域:
Help on class range in module builtins:
class range(object)
| range(stop) -> range object
| range(start, stop[, step]) -> range object
|
| Return an object that produces a sequence of integers from start (inclusive)
| to stop (exclusive) by step. range(i, j) produces i, i+1, i+2, ..., j-1.
| start defaults to 0, and stop is omitted! range(4) produces 0, 1, 2, 3.
| These are exactly the valid indices for a list of 4 elements.
| When step is given, it specifies the increment (or decrement).
如果要键入:
for item in range(5):
print(item)
您将得到0、1、2、3和4
范围将start、stop和step作为参数。如果未提供start,则为零。零包括在内。我们提供了5的stop。但请注意,5是独占的。这意味着,范围将从0打印,并在5之前停止
列表
您的列表mylist=[1,2,3,4,5]
有5项。要访问第一项,您需要编写mylist[0]
。要访问最后一项,您需要编写mylist[4]
合并范围和列表
除了键入range(5)
,您还可以键入range(len(mylist))
,len(mylist)是5
假设您在test.py中键入了此代码
mylist = [1,2,3,4,5]
for index in range(5):
print(f'Range = {index} and mylist item is {mylist[index]}')
如果运行它,您将看到以下内容:
python3 test.py
Range = 0 and mylist item is 1
Range = 1 and mylist item is 2
Range = 2 and mylist item is 3
Range = 3 and mylist item is 4
Range = 4 and mylist item is 5
注意我们是如何使用范围(5)从mylist[0]到mylist[4]的,其中范围(5)给出了从0到4的数字
请随时在评论中提出后续问题。请记住,列表的长度总是比上一个索引大一个。在exmaple中,列表的长度是5,而最终索引是4。因此,当您说范围(len(my_list))时,停止一个短的范围补偿了一个太长的len。这一切都很好,因此您可以按范围(len(my_list))遍历列表中的所有项。您可以使用
list(It)
list(range(len(mylist)))将任何iterable转换为列表
可能很有启发性。谢谢这帮了大忙。下面的一个问题是,如果我对“范围(len(mylist)-1)”进行编码,这会让我只能访问列表中的4个项目吗?@KevinJohn Yes,范围(len(mylist)-1)
将导致范围(4)
这意味着0、1、2和3。正如您所说,这只对应于列表中的前4项。
python3 test.py
Range = 0 and mylist item is 1
Range = 1 and mylist item is 2
Range = 2 and mylist item is 3
Range = 3 and mylist item is 4
Range = 4 and mylist item is 5