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
  return next item each time a function is executed User3000 19 1,082 Aug-06-2023, 02:29 PM
Last Post: deanhystad
  Using list comprehension with 'yield' in function tester_V 5 725 Apr-02-2023, 06:31 PM
Last Post: tester_V
  function return boolean based on GPIO pin reading caslor 2 651 Feb-04-2023, 12:30 PM
Last Post: caslor
  Need help with Return statement Columbo 13 1,502 Sep-17-2022, 04:03 PM
Last Post: Columbo
  list comprehension 3lnyn0 4 1,013 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,306 Jun-15-2022, 12:00 PM
Last Post: new_coder_231013
  Need to parse a list of boolean columns inside a list and return true values Python84 4 1,614 Jan-09-2022, 02:39 AM
Last Post: Python84
  return vs. print in nested function example Mark17 4 1,338 Jan-04-2022, 06:02 PM
Last Post: jefsummers
  Python class doesn't invoke setter during __init__, not sure if's not supposed to? mtldvl 2 2,358 Dec-30-2021, 04:01 PM
Last Post: mtldvl
  List comprehension used differently coder_sw99 3 1,394 Oct-03-2021, 04:12 PM
Last Post: coder_sw99

Forum Jump:

User Panel Messages

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