python:函数之后,数组不改变

2024-09-27 00:13:33 发布

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

我想在数组中找到K个最小元素:

def partition(A):
    pivotIndex = len(A)-1
    storeIndex = 0
    for i in xrange(len(A)):
        if A[i] < A[pivotIndex]:
            A[i], A[storeIndex] = A[storeIndex], A[i]
            storeIndex += 1
    A[storeIndex], A[pivotIndex] = A[pivotIndex], A[storeIndex]
    print A
    return storeIndex

def findminiK(array, k):
    mini = 0
    while mini < k:
        if mini < k-1 :
            print array, "---"
            mini = partition(array[mini:])
            print array, "++"
        elif mini == k-1:
            return array[:k]
        else :
            mini = partition(array[:mini])
    return array[k]

在我看来,分区之后,数组会改变。你知道吗

例如:
原始数组是[3,4,7,5,9,9,6]
分区后,数组将变成[3,4,5,6,7,9,8]
但我发现数组没有改变。
谁能给我一些建议?你知道吗


Tags: in元素forlenreturnifdef数组

热门问题