내배캠_Data_3기/TIL

240702_파이썬, PYTHON, 명령어

케일라(Data_3기) 2024. 7. 2. 19:38

강의 : 파이썬 문법 기초 - 1주차

 

1-5 리스트와 딕셔너리

리스트(list): 순서가 중요하게 값을 담는다. 

  • 순서가 있는, 다른 자료형들의 모임
  • 리스트의 길이 len() 함수를 사용
  • 인덱싱과 슬라이싱 가능
  • 리스트의 중첩
#len()
a = [1, 5, 2]
print(len(a))   # 3

b = [1, 3, [2, 0], 1]
print(len(b))   # 4

#인덱싱과 슬라이싱
a = [1, 3, 2, 4]
print(a[3])  # 4
print(a[1:3]) # [3, 2]
print(a[-1]) # 4 (맨 마지막 것)

#중첩
a = [1, 2, [2, 3], 0]
print(a[2])      # [2, 3]
print(a[2][0])   # 2

 

  • 덧붙이기 변수이름.append(값)
  • 정렬하기 변수이름.sort(값)
  • 요소가 리스트 안에 있는지 알아보기: (값 in 변수이름) 또는 (값 not in 변수이름)
#덧붙이기
a = [1, 2, 3] 
a.append(5)
print(a)     # [1, 2, 3, 5]

a.append([1, 2])
print(a)     # [1, 2, 3, 5, [1, 2]]

# 더하기 연산과 비교!
a += [2, 7]
print(a)     # [1, 2, 3, 5, [1, 2], 2, 7]

#정렬하기
a = [2, 5, 3]
a.sort()
print(a)   # [2, 3, 5]
a.sort(reverse=True)
print(a)   # [5, 3, 2]

#in, not in
a = [2, 1, 4, "2", 6]
print(1 in a)      # True
print("1" in a)    # False
print(0 not in a)  # True

 

 

딕셔너리(dictionary) : 키(key)와 밸류(value)의 쌍으로 이루어진 자료의 모임.

person = {"name":"Bob", "age": 21}
print(person["name"]) #키=밸류, name=Bob, age=21
  • 순서가 없어 인덱싱 불가
  • 딕셔너리 값을 업데이트하거나 새로운 쌍의 자료 추가 가능
  • 딕셔너리의 밸류로는 모든 자료형 가능. 다른 딕셔너리도 추가가능 
a = {"one":1, "two":2}

# 빈 딕셔너리 만들기
a = {}
a = dict()


person = {"name":"Bob", "age": 21}
print(person[0])   # 0이라는 key가 없으므로 KeyError 발생!


person = {"name":"Bob", "age": 21}

person["name"] = "Robert"
print(person)  # {'name': 'Robert', 'age': 21}

person["height"] = 174.8
print(person)  # {'name': 'Robert', 'age': 21, 'height': 174.8}


person = {"name":"Alice", "age": 16, "scores": {"math": 81, "science": 92, "Korean": 84}}
print(person["scores"])             # {'math': 81, 'science': 92, 'Korean': 84}
print(person["scores"]["science"])  # 92

 

  • 딕셔너리 안에 해당 키가 존재하는지 알고 싶을때 in 사용
person = {"name":"Bob", "age": 21}

print("name" in person)       # True
print("email" in person)      # False
print("phone" not in person)  # True

 

  • 문제. smith의 science 점수를 출력하라
더보기

people = [
    {'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},
    {'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},
    {'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},
    {'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}
]

print(people[2]['score']['science'])

 

1-6 if 문

  • 조건을 만족할 때 특정코드 실행
  • 내용물이 되려면 : 꼭 입력
  • else : 조건을 만족하지 않을 때 다른 코드를 실행
  • elif: 다양한 조건 판단할 때 사용
age = 27
if age < 20:
    print("청소년입니다.")
elif age < 65:
    print("성인입니다.")
else:
    print("무료로 이용하세요!")

 

1-7 반복문 for문 

fruits = ['사과', '배', '감', '귤']

for fruit in fruits:
    print(fruit)

 

  • 문제. 사람의 나이 출력하기, 나이가 20보다 큰 사람만 출력하기
더보기
people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]
for person in people:
    name=person['name']
    age=person['age']
    if age>20:
        print(name, age)