簡體   English   中英

用Python分配數組

[英]Assigning in Python, Arrays

我正在創建一個隨機值數組,以便可以進行不同的排序並查看它們如何相互作用。 問題是,當我在數組上調用排序時,由於該數組已經排序,因此無法再使用該數組。 我只是似乎不了解python如何與賦值一起工作。 對我來說,似乎將一個數組分配給另一個共享內存地址的數組。 有人可以請問如何在python中分配數組並向我解釋為什么我的代碼不起作用。

這是我稱之為插入排序的地方。 我們的目標是使insert_sort_array正確排序,而random_test_array_10保持未排序狀態。

for i in random_array_10:
print i

time.sleep(2)

print "Insertion Sort"

with timer.Timer() as t:
    insertion_sort_array = sorts.insertion_sort(random_array_10).isort()

print t.interval

for i in random_array_10:
   print i

這是我的插入排序類

class insertion_sort():

    def __init__(self, array):
        self.array = array

    def isort(self):
        for i in range(1, len(self.array)):
            temp = self.array[i]
            k = i
            while k > 0 and temp < self.array[k-1]:
                self.array[k] = self.array[k-1]
                k = k-1
            self.array[k] = temp
        return self.array

self.arrayarray都指向相同的對象(相同的可變列表)。 要復制列表,可以在__init__使用list()構造函數:

self.array = list(array)

有利的一面是,它允許任何其他可迭代對象用作插入排序的輸入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM