DEV Community

Palak Hirave
Palak Hirave

Posted on

Day 26 of 100

I looked though how to do list and dictionary comprehensions as well as making a small project based off of it.

notes.py

import random
import pandas

# List Comprehension
# new_list = [new_item for item in list]

numbers = [1, 2, 3, 4, 5, 6]
numbers_plus_one = [n + 1 for n in numbers]
print(numbers_plus_one)

name = "Palak"
letters = [letter for letter in name]
print(letters)

numbers = [n for n in range(1,6)]
print(numbers)

# Conditional List Comprehension
# new_list = [new_item for item in list if test]

names = ["Alex", "Beth", "Jane", "Roger", "Freddie", "Max", "Maximus", "Tyler"]
short_names = [name for name in names if len(name) <= 4]
print(short_names)

uppercase_names = [name.upper() for name in short_names if len(name) < 5]
print(uppercase_names)

print("----------------------------------------------------")

# Dictionary Comprehension
# new_dict = {new_key:new_value for item in list}
# new_dict = {new_key:new_value for (key,value) in dict.items()}

names = ["Alex", "Beth", "Jane", "Roger", "Freddie", "Max", "Maximus", "Tyler"]
random_scores = {students:random.randint(1,101) for students in names}
print(random_scores)

passed_students = {students:random_scores[students] for students in names if random_scores[students] >= 60}
# OR passed_students = {students:score for (students,score) in random_scores.items() if score >= 60}
print(passed_students)

# Turn dict into DataFrame
colours = {"Red" : ["Bright", "Dark"],
            "Blue" : ["Sky", "Deep"]}

students_dataframe = pandas.DataFrame(colours)
print(students_dataframe)

# Loop through a data frame
for (key, value) in students_dataframe.items():
    print(value)

# Loop through rows in a dataframe
for (index, row) in students_dataframe.iterrows():
    print(row)

Enter fullscreen mode Exit fullscreen mode

NATO Alphabet Mini-Project (main.py)

import csv

#TODO 1. Create a dictionary using dictionary comprehension:
with open("nato_phonetic_alphabet.csv") as file:
    reader = csv.reader(file)
    alphabet = {row[0]: row[1] for row in reader if row[0] != "letter"}

#TODO 2. Create a list of the phonetic code words from a word that the user inputs.
name = input("Enter your name: ")
broken_name = [letter.upper() for letter in name ]
words = [alphabet[assigned_letter] for assigned_letter in broken_name]
print("The NATO phonetic words for you name is: \n", words)

Enter fullscreen mode Exit fullscreen mode

nato_phonetic_alphabet.csv

letter,code
A,Alfa
B,Bravo
C,Charlie
D,Delta
E,Echo
F,Foxtrot
G,Golf
H,Hotel
I,India
J,Juliet
K,Kilo
L,Lima
M,Mike
N,November
O,Oscar
P,Papa
Q,Quebec
R,Romeo
S,Sierra
T,Tango
U,Uniform
V,Victor
W,Whiskey
X,X-ray
Y,Yankee
Z,Zulu
Enter fullscreen mode Exit fullscreen mode

Top comments (0)