2013-06-21 3 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 есть что-то, называемое списком, аналогичным массиву в C++. как приведенный выше код может быть реализован в python?

+0

Из интереса, что делает этот код? Этот алгоритм выглядит смутно знакомым ... – robjohncox

+0

Я пытаюсь реализовать сортировку слияния в итеративной версии – vr22

+0

, тогда путинский способ - это «list (sorted (a))». но если вы настаиваете на реализации слияния, использование может отбросить переменную 'k' и вместо этого использовать' b.append (min (a [i], a [j])) '. – Elazar

ответ

1

Существует список конструкт выпекаться в ядро ​​Python, ниже это очень хорошее введение:

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

Вы можете переписать код, указанный выше в значительной степени одинаково в питона, просто изменяя синтаксис от C++ до python. Тем не менее, может быть более pythonic способ сделать то, что вам нужно, трудно сказать, не имея больше контекста вокруг кода.

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 
Смежные вопросы