这个for循环如何知道要排序哪个列表?

2024-09-29 19:17:54 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码对通过函数传递的列表中的值进行气泡排序。有人能告诉我for循环如何遍历正在通过函数传递的列表吗?我觉得for循环应该说

for i in values

但它却说

for i in range(0,n-1)。你知道吗

def bubbleSort(values):
    n = len(values)
    for i in range(0,n-1):
        for j in range(0,n-1):
            if values[j] > values[j +1]:
                values[j],values[j+1] = values[j+1],values[j]


someValues = [22, 10, 3, 84, 5, 12]
bubbleSort(someValues)
print(someValues)

Tags: 函数代码in列表forlenif排序
1条回答
网友
1楼 · 发布于 2024-09-29 19:17:54

some_list是Python list对象实例的名称时,表达式some_list[i]计算为第i个值。你知道吗

在Python中,可以这样写:

for elem in some_list:
    ...

并期望直接对列表的值进行操作(在每次迭代中,这些值将由elem或您选择的任何循环变量表示)。你知道吗

迭代list的索引范围并在需要适当元素的点访问循环中的list也是同样有效的:

for i in range(0, len(some_list)-1):
    elem = some_list[i]
    ...

您甚至可以通过使用enumerate函数来迭代,同时跟踪数组中的当前索引该位置的元素:

for i, elem in enumerate(some_list):
    some_list[i] == elem #True, unless you've mutated the list (don't!)
    ...

相关问题 更多 >

    热门问题