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
  An IF statement with a List variable dedesssse 3 350 Jul-08-2021, 05:58 PM
Last Post: perfringo
  List comprehension and Lambda cametan 2 483 Jun-08-2021, 08:29 AM
Last Post: cametan
  Function - Return multiple values tester_V 10 1,052 Jun-02-2021, 05:34 AM
Last Post: tester_V
  Get return value from a threaded function Reverend_Jim 3 904 Mar-12-2021, 03:44 AM
Last Post: Reverend_Jim
  Regular expression: return string, not list Pavel_47 3 677 Jan-14-2021, 11:49 AM
Last Post: Pavel_47
  What is the difference between a generator and a list comprehension? Pedroski55 2 582 Jan-02-2021, 04:24 AM
Last Post: Pedroski55
  How do I reduce the time to Invoke Macro via Python? JaneTan 1 640 Dec-28-2020, 06:46 AM
Last Post: buran
  For Loop with List Comprehension muzikman 25 1,791 Dec-18-2020, 10:45 PM
Last Post: muzikman
  Return not exiting function?? rudihammad 3 969 Dec-01-2020, 07:11 PM
Last Post: bowlofred
  Why does my function return None? vg100h 3 665 Oct-29-2020, 06:17 AM
Last Post: vg100h

Forum Jump:

User Panel Messages

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