Python Forum
List comprehension used differently
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
List comprehension used differently
#1
Hello,

I saw on GitHub this line of code:

word_list = [letter if letter in used_letters else '-' for letter in word]
But I have never seen list comprehensions used in this way and don´t understand it really.

Can someone help me and show how this line of code would be written if it wouldn´t be in
a list comprehension

Thanks
Reply
#2
It's quite simple to understand really:

- Go over each letter in word
- If letter is in used_letters, put it inside the new list
- Otherwise, put a "-" inside the new list.

Does it make it easier to read if you abstract the if and else into a function? That is, something like

def character(letter):
  if letter in used_letters:
    letter
  else:
    "-"

word_list = [character(letter) for letter in word]
coder_sw99 likes this post
Reply
#3
Here it is written in various ways
word_list = [letter if letter in used_letters else '-' for letter in word]
word_list = []
for letter in word:
    word_list.append(letter if letter in used_letters else '-')
word_list = []
for letter in word:
    if letter in used_letters:
       word_list.append(letter)
    else:
        word_list.append("-")
coder_sw99 likes this post
Reply
#4
Thanks, @Yoriz!
Thanks a lot @ndc85430
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  List Comprehension Issue johnywhy 5 508 Jan-14-2024, 07:58 AM
Last Post: Pedroski55
Question mypy unable to analyse types of tuple elements in a list comprehension tomciodev 1 475 Oct-17-2023, 09:46 AM
Last Post: tomciodev
  Using list comprehension with 'yield' in function tester_V 5 1,248 Apr-02-2023, 06:31 PM
Last Post: tester_V
  list comprehension 3lnyn0 4 1,407 Jul-12-2022, 09:49 AM
Last Post: DeaD_EyE
  How to invoke a function with return statement in list comprehension? maiya 4 2,829 Jul-17-2021, 04:30 PM
Last Post: maiya
  List comprehension and Lambda cametan 2 2,237 Jun-08-2021, 08:29 AM
Last Post: cametan
  What is the difference between a generator and a list comprehension? Pedroski55 2 2,214 Jan-02-2021, 04:24 AM
Last Post: Pedroski55
  Two loops behaving differently DavidTheGrockle 5 2,530 Dec-27-2020, 03:56 AM
Last Post: deanhystad
  For Loop with List Comprehension muzikman 25 6,581 Dec-18-2020, 10:45 PM
Last Post: muzikman
  Using recursion instead of for loops / list comprehension Drone4four 4 3,135 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