Python 🎧

[python] 파이썬 dictionary comprehension - 예제/dataframe/반복/nato/random/pandas

소로리 산적 2024. 9. 9. 06:09

운빨존많겜 재밌다 

 

🧟‍♀️ dictionary comprehension 기본 예제

# 딕셔너리 comprehension
# new_dict = {new_key : new_value for item in list}
# new_dict = {new_key : new_value for (key,value) in dict.items()}
import random
names = ["Jimmy", "Timmy", "Mimmy"]

# 이름에 랜덤 점수 배정하는 딕셔너리 컴프리헨션
scores = {student : random.randint(0,100) for student in names }
print(scores)

# 50점 이상만 통과하는 딕셔너리
pass_list = {student : score for (student, score) in scores.items() if score >= 50}
print(pass_list)

 

🧟‍♀️ 실행 결과 

 

🧟‍♀️ 판다스 데이터 프레임 반복

student_dict = {
    "student" : ["Jimmy","Timmy", "Mimmy"],
    "score" : [70,80,90]
}
"""
for (key, value) in student_dict.items() :
    print(value)
"""

import pandas
student_data_frame = pandas.DataFrame(student_dict)

# 위 주석과 비슷한 판다스 데이터 프레임 반복 - iterrows()
for(index, row) in student_data_frame.iterrows() :
    print(row)

 

🧟‍♀️ 실행결과 

 

 

🧟‍♀️ nato 프로젝트를 만들어보자 - 이름 철자를 알기 쉽게 단어를 말해주는거 ...? 

한국에서 홍길동의 홍씨요 ! 이런거랑 비슷한거 

 

🧟‍♀️ main.py

import pandas
# csv 파일 읽기
data =  pandas.read_csv("nato.csv")

# {'A' : 'Alfa', ... } 와 같은 딕셔너리 형태로 만들기
phonetic_dict = {row.letter : row.code for (index,row) in data.iterrows()}

# 사용자 이름 input 받기 - 죄다 대문자로 바꾸기
word = input("이름을 입력하시오 (영어로) : ").upper()

# word의 각각을 key 로 받아 value 값을 리스트에 저장
output_list = [phonetic_dict[letter] for letter in word]

print(output_list)

 

🧟‍♀️ nato.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

 

🧟‍♀️ 실행 결과