[英]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.array
和array
都指向相同的對象(相同的可變列表)。 要復制列表,可以在__init__
使用list()
構造函數:
self.array = list(array)
有利的一面是,它允許任何其他可迭代對象用作插入排序的輸入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.