Python Forum
How to invoke a function with return statement in list comprehension?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to invoke a function with return statement in list comprehension?
#1
Hi All,

I want to invoke a function with return statement using list comprehension or even lambda (if possible) for the better performance. Below is code snippet where I am trying to achieve that in list comprehension where if that function return Fail then break the flow and control move to next statement.
def func(var):
    return True if var % 2 else False

l = [2, 2, 3, 4]
new_list = [out for var in l out = func(var) if out == False break]
print(new_list)
Output:
[True, True]
But then I could not able to achieve the desired result, I would really appreciate if any suggestion on this.

Similarly how to assign a value using list comprehension?

Regards,
Maiya
Reply
#2
from itertools import takewhile


def func(number):
    return True if number % 2 else False


numbers = [2, 2, 3, 4]
new_list = [number for number in numbers if not func(number)]
print(new_list)

new_list2 = list(takewhile(lambda number: not func(number), numbers))
print(new_list2)
Output:
[2, 2, 4] [2, 2]
Reply
#3
I want to store the return value from the function not the list numbers.
Reply
#4
from itertools import takewhile


def func(number):
    return True if number % 2 else False


numbers = [2, 2, 3, 4]
new_list = [func(number) for number in numbers if not func(number)]
print(new_list)

new_list2 = [func(number) for number in takewhile(
    lambda number: not func(number), numbers)]
print(new_list2)
Output:
[False, False, False] [False, False]
maiya likes this post
Reply
#5
(Jul-17-2021, 12:01 PM)Yoriz Wrote:
from itertools import takewhile


def func(number):
    return True if number % 2 else False


numbers = [2, 2, 3, 4]
new_list = [func(number) for number in numbers if not func(number)]
print(new_list)

new_list2 = [func(number) for number in takewhile(
    lambda number: not func(number), numbers)]
print(new_list2)
Output:
[False, False, False] [False, False]
Could you please explain the code sir? and here is that really required to call func method twice?
Regards,
Maiya
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  List Comprehension Issue johnywhy 5 438 Jan-14-2024, 07:58 AM
Last Post: Pedroski55
  How do I calculate a ratio from 2 numbers and return an equivalent list of about 1000 Pleiades 8 15,435 Jan-05-2024, 08:30 PM
Last Post: sgrey
Question mypy unable to analyse types of tuple elements in a list comprehension tomciodev 1 425 Oct-17-2023, 09:46 AM
Last Post: tomciodev
  nested function return MHGhonaim 2 562 Oct-02-2023, 09:21 AM
Last Post: deanhystad
  return next item each time a function is executed User3000 19 2,162 Aug-06-2023, 02:29 PM
Last Post: deanhystad
  Using list comprehension with 'yield' in function tester_V 5 1,175 Apr-02-2023, 06:31 PM
Last Post: tester_V
  function return boolean based on GPIO pin reading caslor 2 1,129 Feb-04-2023, 12:30 PM
Last Post: caslor
  Need help with Return statement Columbo 13 2,164 Sep-17-2022, 04:03 PM
Last Post: Columbo
  list comprehension 3lnyn0 4 1,354 Jul-12-2022, 09:49 AM
Last Post: DeaD_EyE
  List Creation and Position of Continue Statement In Regular Expression Code new_coder_231013 3 1,601 Jun-15-2022, 12:00 PM
Last Post: new_coder_231013

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020