I am out of trial and error again Lists
Seymore4Head
Seymore4Head at Hotmail.invalid
Fri Oct 24 19:48:58 EDT 2014
On Fri, 24 Oct 2014 23:21:43 +0000 (UTC), Denis McMahon
<denismfmcmahon at gmail.com> wrote:
>On Fri, 24 Oct 2014 16:58:00 -0400, Seymore4Head wrote:
>
>> I make lots of typing mistakes. It is not that. Did you see the short
>> example I posted?
>>
>> name="123-xyz-abc"
>> for x in name:
>> if x in range(10):
>> print ("Range",(x))
>> if x in str(range(10)):
>> print ("String range",(x))
>>
>> It doesn't throw an error but it doesn't print what you would expect.
>
>It prints exactly what I expect.
>
>Try the following:
>
>print(str(range(10)), type(str(range(10))))
>print(str(list(range(10))), type(str(listr(range(10)))))
>
>In python 3, str(x) just wraps x up and puts it in a string. range(x)
>generates an iterable range object.
>
>hence str(range(10)) is a string telling you that range(10) is an iterable
>range object with certain boundaries.
>
>However, list(iterable) expands the iterable to the full list of possible
>values, so str(list(range(10))) is a string representation of the list
>containing the values that the iterable range(10) creates.
>
>Note that whether you're looking at a string representation of a value or
>the value itself is a lot clearer in the interpreter console where
>strings are displayed with quotes.
I get it now.
Thanks
More information about the Python-list
mailing list