<div dir="ltr">I realized after I fired off my response that this was still bugging me... it appears that the documentation is incorrect<br><br>from 2.1 Built-in Functions (v2.5 in case it matters... a quick search of bugs doesn&#39;t seem to show anything though)<br>
<dl><dt>
<table cellpadding="0" cellspacing="0">
<tbody>
<tr valign="baseline">
<td><b><tt class="function" id="l2h-63"><font style="background-color: rgb(49, 106, 197);" color="#ffffff">reversed</font></tt></b>(</td>
<td><var>seq</var>)</td></tr></tbody></table>
</dt><dd>Return a <font style="background-color: rgb(49, 106, 197);" color="#ffffff">reverse</font> iterator. <var>seq</var> must be an object which 
supports the sequence protocol (the __len__() method and the <tt class="method">__getitem__()</tt> method with integer arguments starting at 
<code>0</code>). <span class="versionnote">New in version 2.4.</span> </dd></dl>the above appears to only be true for lists. For tuples and strings it creates a reverse OBJECT which behaves slightly differently (notably by not including a len() method as you noticed)<br>
<br>I can&#39;t find how to actually create a &quot;tuplereverseiterator&quot; or &quot;stringreverseiterator&quot; objects... nor does there appear to be a way to create a &quot;reversed&quot; object from a list... <br><br>
Just tested this<br>s = &#39;bob&#39;<br>t = (1,2,3,4)<br>l = [1,2,3,4)<br>rs = reversed(s)<br>rt = reversed(t)<br>rl = reversed(l)<br><br>type(rs)<br>&lt;type &#39;reversed&#39;&gt;<br>type(rt)<br>&lt;type &#39;reversed&#39;&gt;<br>
type(rl)<br>&lt;type &#39;listreverseiterator&#39;&gt;<br>type(rs) == type(rt)<br>True<br>type(rs) == type(rl)<br>False<br><br>Surely this isn&#39;t intentional?<br><br>--------<br>Haikus are easy<br>Most make very little sense<br>
Refrigerator<br>
</div>