^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.tayl...@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.c...@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 -- https://mail.python.org/mailman/listinfo/python-list