python code understanding
<p>I have following code</p>

<pre><code>def compare_and_swap(x, a, b):
    if x[a] &gt; x[b]:
        x[a], x[b] = x[b], x[a]

def oddeven_merge(x, lo, hi, r):
    step = r * 2
    if step &lt; hi - lo:
        oddeven_merge(x, lo, hi, step)
        oddeven_merge(x, lo + r, hi, step)
        for i in range(lo + r, hi - r, step):
            compare_and_swap(x, i, i + r)
    else:
        compare_and_swap(x, lo, lo + r)

def oddeven_merge_sort_range(x, lo, hi):
    """ sort the part of x with indices between lo and hi.

    Note: endpoints (lo and hi) are included.
    """
    if (hi - lo) &gt;= 1:
        # if there is more than one element, split the input
        # down the middle and first sort the first and second
        # half, followed by merging them.
        mid = lo + ((hi - lo) / 2)
        oddeven_merge_sort_range(x, lo, mid)
        oddeven_merge_sort_range(x, mid + 1, hi)
        oddeven_merge(x, lo, hi, 1)

def oddeven_merge_sort(x):
    oddeven_merge_sort_range(x, 0, len(x)-1)

&gt;&gt;&gt; data = [4, 3, 5, 6, 1, 7, 8]
&gt;&gt;&gt; oddeven_merge_sort(data)
&gt;&gt;&gt; data
[1, 2, 3, 4, 5, 6, 7, 8]
</code></pre>

<p>Everything is clear for me ,but  only this line can't understand well</p>

<pre><code> for i in range(lo + r, hi - r, step):
</code></pre>

<p>How can I read it using pseudo code?or in other languages for instance C++?</p>
