Python Forum
Understand list comprehension and draw
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Understand list comprehension and draw
#1
Hello,

I'm a beginner and I try a lot of things with list comprehension to understand it. Considering that, I don't understand some things.

First, how can I do only one draw by combination ? I explain, if I wrote this :


mylist = [1,2,3,4]
[(x,y,z) for x in mylist for y in mylist for z in mylist if x != y if y != z if x != z]
I got this :

Output:
[(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, 4, 2), (1, 4, 3), (2, 1, 3), (2, 1, 4), (2, 3, 1), (2, 3, 4), (2, 4, 1), (2, 4, 3), (3, 1, 2), (3, 1, 4), (3, 2, 1), (3, 2, 4), (3, 4, 1), (3, 4, 2), (4, 1, 2), (4, 1, 3), (4, 2, 1), (4, 2, 3), (4, 3, 1), (4, 3, 2)]
But (1,2,3), (1,3,2), (2,1,3), ... are the same combination in my example.
How can I write my code to have only one draw with these three different numbers ?

I've searched a solution with itertool but I've found nothing. Maybe dropwhile but I have not succeed with.

Otherwise, if I write this :

[(x,y) for x in list(range(10)) for y in list(range(20)]
How can I manage it to have all combinations except if x and y are between 0 and 4 ? In other words, if x is in [0:5], y can not.

I’ve thought about :

[(x,y) for x in list(range(10)) for y in list(range(20)) if x in [0:5] then not y]
But I idn’t find how can I put a ‘’then’’ in a list comprehension. Is it possible ?

I have the same doubt with pass, continue and break.

Rather than do without understand, is there a website where I can find tutorials about list comprehension ? I did not find it on Python documentations, but maybe I'm wrong.
Reply


Messages In This Thread
Understand list comprehension and draw - by PUP280 - Apr-18-2020, 05:07 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  List Comprehension Issue johnywhy 5 546 Jan-14-2024, 07:58 AM
Last Post: Pedroski55
Question mypy unable to analyse types of tuple elements in a list comprehension tomciodev 1 495 Oct-17-2023, 09:46 AM
Last Post: tomciodev
  Using list comprehension with 'yield' in function tester_V 5 1,265 Apr-02-2023, 06:31 PM
Last Post: tester_V
  list comprehension 3lnyn0 4 1,426 Jul-12-2022, 09:49 AM
Last Post: DeaD_EyE
  List comprehension used differently coder_sw99 3 1,740 Oct-03-2021, 04:12 PM
Last Post: coder_sw99
  How to invoke a function with return statement in list comprehension? maiya 4 2,868 Jul-17-2021, 04:30 PM
Last Post: maiya
  List comprehension and Lambda cametan 2 2,257 Jun-08-2021, 08:29 AM
Last Post: cametan
  What is the difference between a generator and a list comprehension? Pedroski55 2 2,234 Jan-02-2021, 04:24 AM
Last Post: Pedroski55
  For Loop with List Comprehension muzikman 25 6,709 Dec-18-2020, 10:45 PM
Last Post: muzikman
  Using recursion instead of for loops / list comprehension Drone4four 4 3,162 Oct-10-2020, 05:53 AM
Last Post: ndc85430

Forum Jump:

User Panel Messages

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