2013-06-21 43 views
0
while (i<r && j<u) { 
    if (a[i]<=a[j]) { 
     b[k]=a[i]; 
     i++; 
    } 
    else { 
     b[k]=a[j]; 
     j++; 
    } 
    k++; 
} 

在上面的C++代碼中檢查兩個數組的值,並且當條件滿足時,將一個數組的值分配給另一個數組。將值賦給python中的列表

是python中的初學者程序員。在python中有一些名爲list的東西,類似於C++中的數組。上面的代碼如何在python中實現?

+0

出於興趣,這段代碼在做什麼?這個算法看起來很模糊...... – robjohncox

+0

我試圖在迭代版本 – vr22

+0

中實現合併排序,然後pythonic的方式是做'list(sorted(a))'。但是如果你堅持實現合併,可以使用'k'變量並使用'b.append(min(a [i],a [j]))'代替。 – Elazar

回答

1

有正確的烤成Python的核心列表結構,下面是一個不錯的介紹:

http://www.tutorialspoint.com/python/python_lists.htm

你可以重新寫上面的幾乎相同的蟒蛇,只是改變了代碼從C++到Python的語法。但是,可能會有更多的方法來執行您所需要的操作,如果沒有更多的代碼上下文很難說。

while i < r and j < u: 
    if a[i] <= a[j]: 
     b[k] = a[i] 
     i += 1    # No increment operator in python 
    else: 
     b[k] = a[j] 
     j += 1 
    k += 1