Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在python中同时使用range和length函数_Python 3.x_Range - Fatal编程技术网

Python 3.x 在python中同时使用range和length函数

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

只想了解使用-range(len())进行索引的逻辑

例如,我有
mylist=[1,2,3,4,5]

所以这里->
len(mylist)
应该是
5

范围(len(mylist))
将是
(0,5)

但是,计算机开始从
0
as位置读取:make
mylist 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