본문 바로가기
Python

[TIL] 파이썬 문법 기초2️⃣_12일차(문자열,메소드,인덱싱과 슬라이싱,리스트,딕셔너리)

by 공부하죠 2024. 4. 9.
반응형

이전 시간에 이어서 파이썬 기초 문법에 대해 학습하겠습니다.🌸

✍🏻배운내용🌞

1. 문자열( string )이란?

2. 메소드( method )란?

3. 인덱싱( indexing )와 슬라이싱( slicing )

4. 리스트( list )

5. 딕셔너리 ( dictionary )

6. 리스트와 딕셔너리의 조합


1. 문자열( string )이란?

1) 문자열은 '글' 또는 '문자들의 모임' 으로 된 데이터를 의미합니다.

‣ 이때 문자열에는 '작은 따옴표' 또는 "큰 따옴표"를 붙입니다.

따옴표로 감싸지 않으면 변수이름을 뜻하기 때문에 꼭 구분해서 써야합니다!

 

[ 문자열 연산 ]

‣ 문자열 간의 더하기는 두 문자열을 이어붙인 문자열을 반환합니다.

문자열과 정수를 더하면 에러납니다!

‣ 문자열의 길이는 len() 함수를 써서 구할 수 있습니다!

⇒ print(len("abcde"))    # 5

 

2. 메소드( method )란?

: 특정 자료형 뒤에 마침표. 을 붙이고 쓰는 내장 함수들을 '메소드(method)'라고 합니다!

  모든 알파벳을 대문자/소문자로 바꾸기 -.upper() / -.lower()

sentence = 'Python is FUN!'

sentence.upper() # PYTHON IS FUN!
sentence.lower() # python is fun!

 

특정 문자를 기준으로 문자열을 나누기 -.split('나눌 기준')

# 이메일 주소에서 도메인 'gmail'만 추출하기
myemail = 'test@gmail.com'
result = myemail.split('@')    # ['test','gmail.com'] (뒤에 배울 '리스트'라는 자료형이에요 :))

result2 = result[1].split('.')   # ['gmail','com']


# 한 줄로 한 번에!
myemail.split('@')[1].split('.')[0]     # gmail

 

특정 문자를 다른 문자로 바꾸기 -.replace('원래 문자', '바꾼 문자')

txt = '서울시-마포구-망원동'
print(txt.replace('-', '>')) # '서울시>마포구>망원동'

 

3. 인덱싱( indexing )와 슬라이싱( slicing )

1) 인덱싱이란?

: 한 글자 씩 부를 때는 몇 번째인지 '인덱스'를 넣어 불러서 인덱싱이라고 합니다.

[🚨 주의 ] 파이썬은 숫자를 0부터 셉니다!

f="abcdefghijklmnopqrstuvwxyz"
f[1]    # b 

 

2) 슬라이싱이란?

: 문자열의 일부를 잘라낼 때는 슬라이싱이라고 합니다.

f[4:15]       # efghijklmno
f[4]부터 f[15] 전까지, 총 15-4=11개

f[8:]       # ijklmnopqrstuvwxyz
f[8]부터 끝까지, 앞의 8개 빼고!

f[:7]       # abcdefg
시작부터 f[7] 전까지, 앞의 7개!

f[:]       # abcdefghijklmnopqrstuvwxyz
처음부터 끝까지

 

[실습]

1. 문자열의 앞의 반만 출력하기

text = "sparta"
print(text[:3])
# spa

 

2. 전화번호의 지역번호 출력하기

phone = "02-123-1234"
print(phone.split("-")[0])
# 02

 

4. 리스트( list )

1) 리스트란?  순서가 있는, 다른 자료형들의 모임입니다. a = [   ,    ,  ... ]

2) 리스트의 길이 : len() 함수를 이용합니다. 

3) 인덱싱과 슬라이싱 : 순서가 있기 때문에, 문자열에서처럼 인덱싱과 슬라이싱을 사용할 수 있습니다.

4) 리스트의  중첩 : 리스트 안에 리스트가 또 있을 수 있습니다.(리스트의 요소가 리스트)

5) 리스트에 덧붙이기 : .append(덧붙이는)

6) 리스트의 정렬 : -.sort() ⇒ 오름차순, -.sort(reverse=True) ⇒ 내림차순

7) 리스트의 요소 확인 : print(- in a) 

[ 리스트의 길이 ]

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[3])      # [2, 3]
print(a[3][0])      # 2
[ 리스트에 덧붙이기 ]

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]
[ 리스트의 요소 확인 ]

a = [2, 1, 4, "2", 6]

print(1 in a)     # True
print("1" in a)      # False
print(0 not in a)      # True

 

 

5. 딕셔너리 ( dictionary )

1) 딕셔너리란? 키(key)와 밸류(value)의 쌍으로 이루어진 자료의 모임입니다. a = {  :  ,  :  , '   ':'  ', .... }

2) 딕셔너리는 순서가 없기 때문에 인덱싱을 사용할 수 없습니다.

3) 딕셔너리에 덧붙이기 : 딕셔너리의 값을 업데이트하거나 새로운 쌍의 자료를 넣을 수 있습니다.

4) 딕셔너리의 밸류로는 모든 자료형이나 딕셔너리를 중첩해서 쓸 수 있어요.

5) 딕셔너리의 요소 확인 : print(- in a) 

[ 딕셔너리에 덧붙이기 ]

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
[ 딕셔너리의 요소 확인 ]

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

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

 

6. 리스트와 딕셔너리의 조합

딕셔너리는 리스트와 함께 쓰여 자료를 정리하는 데 쓰일 수 있습니다.

people = [{'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}]
# people[0]['name']의 값은? 'bob'
# people[1]['name']의 값은? 'carry'

person = {'name': 'john', 'age': 7}
people.append(person)
# people의 값은? [{'name':'bob','age':20}, {'name':'carry','age':38}, {'name':'john','age':7}]
# people[2]['name']의 값은? 'john

 

[실습] 딕셔너리에서 원하는 정보를 찾아보기

1. 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'])

# 90

 

 

 

[ 💡TIP💡 ] 파이썬에서 모르는 것은 무조건 검색! 검색!

특히 구글에 파이썬 ~ 구하기 , 또는 파이썬 ~ 이라고 쳐보면 다양한 블로그에서 정답이 나옵니다!

치트키는 ChatGPT에 검색!! 답만이 아닌 원리나 구조도 같이 물어보면 좋습니다✨

 

 


ADsP 시험 정보가 궁금하신 분들은 여기를 클릭 💨

SQL을 기초부터 공부하고 싶다면 여기를 클릭 💨

🔥 코딩테스트(코테)에 대해 궁금하다면 여기를 클릭 📑

PyCharm 과 Python 설치 방법은 여기를 클릭 📣

 

🌸 오늘 하루도 즐거운 하루 되세요🌄

반응형