Help with map python 2

Alec Taylor alec.taylor6 at gmail.com
Sun Jan 4 06:48:53 EST 2015


^To print the first 8. To print the first 100: map(lambda i: -i if
i&1==1 else i, xrange(2, 102))

On Sun, Jan 4, 2015 at 10:47 PM, Alec Taylor <alec.taylor6 at gmail.com> wrote:
> map(lambda i: -i if i&1==1 else i, xrange(2, 10))
>
> On Sun, Jan 4, 2015 at 10:34 PM, flebber <flebber.crue at gmail.com> wrote:
>> In repsonse to this question: Write a program that prints the first 100 members of the sequence 2, -3, 4, -5, 6, -7, 8.
>>
>> This is my solution it works but ugly.
>>
>> series = range(2,100)
>> # answer = [(x,(y* -1)) for x, y in series[::2]]
>> # print(answer)
>> answer = []
>> for item in series:
>>     if item % 2 != 0:
>>         answer.append(item * -1)
>>     else:
>>         answer.append(item)
>>
>> print(answer)
>>
>> I know I should be better off doing this with map but cannot get it to work. I understand also that map returns a generator so this solution should only working in python2(correct me please if I am wrong).
>>
>> In [6]: map?
>> Type:       builtin_function_or_method
>> String Form:<built-in function map>
>> Namespace:  Python builtin
>> Docstring:
>> map(function, sequence[, sequence, ...]) -> list
>>
>> Just getting something wrong
>> list(map((lambda x: x * -1 if (x%2 != 0)), series))
>> --
>> https://mail.python.org/mailman/listinfo/python-list



More information about the Python-list mailing list