<font><font face="arial,helvetica,sans-serif">To All,</font></font><div><font><font face="arial,helvetica,sans-serif">I appreciate the range of answers and the time each of you take to think about and answer my question. Whether or not I use them I find them all educational. </font></font></div>
<div><font><font face="arial,helvetica,sans-serif">Thanks again.</font></font></div><div><font><font face="arial,helvetica,sans-serif"><br clear="all"></font></font><div>Vincent</div><br>
<br><br><div class="gmail_quote">On Mon, Oct 22, 2012 at 2:03 AM, Emile van Sebille <span dir="ltr"><<a href="mailto:emile@fenx.com" target="_blank">emile@fenx.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 10/21/2012 12:06 PM, Ian Kelly wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Sun, Oct 21, 2012 at 12:58 PM, Vincent Davis<br>
<<a href="mailto:vincent@vincentdavis.net" target="_blank">vincent@vincentdavis.net</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
x = 'apple'<br>
for f in range(len(x)-1):<br>
     print(x[f:f+2])<br>
<br>
@Ian,<br>
Thanks for that I was just looking in to that. I wonder which is faster I<br>
have a large set of strings to process. I'll try some timings if I get a<br>
chance later today.<br>
</blockquote>
<br>
The solution you came up with is probably faster, but less general --<br>
it will only work on sliceable sequences like strings, not arbitrary<br>
iterables.<br>
<br>
</blockquote>
<br></div>
So the simple loop is the right answer for sliceable sequences like strings, but not if your code needs to deal with arbitrary iterables such as those that the standard library authors are expected to handle.<br>
<br>
So, as OP's a self confessed newbie asking about slicing, why provide an example requiring knowledge of tee, enumerate, next and izip?<div class="im"><br>
<br>
def nwise(iterable, n=2):<br>
    iters = tee(iterable, n)<br>
    for i, it in enumerate(iters):<br>
        for _ in range(i):<br>
            next(it, None)<br>
    return izip(*iters)<br>
<br></div>
It's good that the standard library provides these tools as a convenience, but when all you need is a derringer, why reach for a howitzer?<span class="HOEnZb"><font color="#888888"><br>
<br>
Emile<br>
<br>
<br>
-- <br>
<a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/<u></u>mailman/listinfo/python-list</a><br>
</font></span></blockquote></div><br></div>