Thanks Abe for the insight.

On Thu, Jun 8, 2017 at 11:27 PM, Abe Dillon <[email protected]> wrote:

> Welcome to the group, Joannah!
>
> Now that you've been introduced to packing and unpacking in Python, I
> would suggest learning the complete syntax, because it's a very useful
> feature.
>
> >>> a, b = "hi"  # you can unpack any iterable
> >>> a
> 'h'
> >>> b
> 'i'
>
> >>> a, b = 1, 2  # this is the same as: a, b = (1, 2)
> >>> a
> 1
> >>> b
> 2
>
> >>> a, (b, c) = [1, (2, 3)]  # you can unpack nested iterables using
> parentheses
> >>> first, *rest = "spam"  # you can use '*' to capture multiple elements
> >>> first
> 's'
> >>> rest
> 'pam'
>
> >>> *rest, last = "eggs" # which elements are captured by `*` is implied
> by the other assignment targets
> >>> rest
> 'egg'
> >>> last
> 's'
>
> >>> first, second, *middle, before_last, last = "lumberjack"
> >>> first
> 'l'
> >>> second
> 'u'
> >>> middle
> 'mberja'
> >>> before_last
> 'c'
> >>> last
> 'k'
>
> >>> a, b, *c = range(2)  # a '*' variable can be empty
> >>> c
> []
>
> >>> a, b, *c, d, e = range(3)  # the number of non-star variables has to
> make sense
> ValueError
>
> >>> a, *b, c, *d = "african swallow"  # multiple '*'s are FORBIDDEN!
> SyntaxError
>
> >>> a, *b = 1, 2, 3, 4, 5   # NOTE: Most itterables unpack starred
> variables as a list
> >>> type(b)
> <class 'list'>
>
> >>> a, *b = {1, 2, 3, 4, 5}
> >>> type(b)
> <class 'list'>
>
> >>> a, *b = [1, 2, 3, 4, 5]
> >>> type(b)
> <class 'list'>
>
> >>> a, *b = dict(zip("spam", range(4)))
> >>> type(b)
> <class 'list'>
>
> >>> a, *b = "except strings"
> >>> type(b)
> <class 'str'>
>
> All of these rules apply just as well to assignment targets in for-loops:
>
> >>> for num, (first, *rest) in {1: "dead", 2: "parrot"}.items():
> ...   print("num=%r, first=%r, rest=%r"%(num, first, rest))
> ...
> num=1, first='d', rest='ead'
> num=2, first='p', rest='arrot'
>
> Hope that helps!
>
> On Thu, Jun 8, 2017 at 7:22 AM, joannah nanjekye <
> [email protected]> wrote:
>
>> Thanks for response on automatic tuple unpack. My bad I dint know about
>> this all along.
>>
>> Infact this works same way Go does. I have been analyzing why we would
>> really need such a function (allow function to return multiple types) in
>> python given we have this feature( automatic tuple unpack) and have not yet
>> got good ground. When I come across good ground I will talk about it.
>>
>> So I will say this automatic tuple unpack pretty much works for my needs.
>>
>> Thanks
>>
>> On Thu, Jun 1, 2017 at 5:21 PM, Markus Meskanen <[email protected]
>> > wrote:
>>
>>> Why isn't a tuple enough? You can do automatic tuple unpack:
>>>
>>>     v1, v2 = return_multiplevalues(1, 2)
>>>
>>>
>>> On Jun 1, 2017 17:18, "joannah nanjekye" <[email protected]>
>>> wrote:
>>>
>>> Hello Team,
>>>
>>> I am Joannah. I am currently working on a book on python compatibility
>>> and publishing it with apress. I have worked with python for a while we are
>>> talking about four years.
>>>
>>> Today I was writing an example snippet for the book and needed to write
>>> a function that returns two values something like this:
>>>
>>> def return_multiplevalues(num1, num2):
>>>      return num1, num2
>>>
>>>  I noticed that this actually returns a tuple of the values which I did
>>> not want in the first place.I wanted python to return two values in their
>>> own types so I can work with them as they are but here I was stuck with
>>> working around a tuple.
>>>
>>> My proposal is we provide a way of functions returning multiple values.
>>> This has been implemented in languages like Go and I have found many cases
>>> where I needed and used such a functionality. I wish for this convenience
>>> in python so that I don't  have to suffer going around a tuple.
>>>
>>> I will appreciate discussing this. You may also bring to light any
>>> current way of returning multiple values from a function that I may not
>>> know of in python if there is.
>>>
>>> Kind regards,
>>> Joannah
>>>
>>> --
>>> Joannah Nanjekye
>>> +256776468213 <+256%20776%20468213>
>>> F : Nanjekye Captain Joannah
>>> S : joannah.nanjekye
>>> T : @Captain_Joannah
>>> SO : joannah
>>>
>>>
>>> *"You think you know when you learn, are more sure when you can write,
>>> even more when you can teach, but certain when you can program." Alan J.
>>> Perlis*
>>>
>>> _______________________________________________
>>> Python-ideas mailing list
>>> [email protected]
>>> https://mail.python.org/mailman/listinfo/python-ideas
>>> Code of Conduct: http://python.org/psf/codeofconduct/
>>>
>>>
>>>
>>
>>
>> --
>> Joannah Nanjekye
>> +256776468213 <+256%20776%20468213>
>> F : Nanjekye Captain Joannah
>> S : joannah.nanjekye
>> T : @Captain_Joannah
>> SO : joannah
>>
>>
>> *"You think you know when you learn, are more sure when you can write,
>> even more when you can teach, but certain when you can program." Alan J.
>> Perlis*
>>
>> _______________________________________________
>> Python-ideas mailing list
>> [email protected]
>> https://mail.python.org/mailman/listinfo/python-ideas
>> Code of Conduct: http://python.org/psf/codeofconduct/
>>
>>
>


-- 
Joannah Nanjekye
+256776468213
F : Nanjekye Captain Joannah
S : joannah.nanjekye
T : @Captain_Joannah
SO : joannah


*"You think you know when you learn, are more sure when you can write, even
more when you can teach, but certain when you can program." Alan J. Perlis*
_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to