개발일기

#1. 파이썬 연습 (문자열, 리스트, 딕셔너리) 본문

오늘의 공부일기/파이썬 공부일기

#1. 파이썬 연습 (문자열, 리스트, 딕셔너리)

츄98 2023. 3. 20. 22:20

content

  • 새로 알게된 점(복습!)
  • 배운 문법을 가지고.. 내 맘대로 활용해보기!

1. 문자열 일부 자르기 : 슬라이싱, split('문자')

text = 'abcdefghijk'
result = text[:3]
result2 = text[3:]
result3 = text[3:8]
result4 = text[:]

result: text에서 3번째 문자까지 자르기 

result2: text에서 4번째 문자부터 자르기

result3: text에서 4번째 문자부터 8번째 문자까지 자르기

result4: text 그대로 복사 붙이기

 

myemail = '123@naver.com'
result = myemail.split('@')[1].split('.')[0]
print(result)

naver가 출력된다.

myemail에서 @를 기준으로 쪼개고, 그 중 뒷 부분을 가지고 오고, 거기서 .을 기준으로 쪼개고, 그 중 앞 부분을 가지고 오라는 의미~

 

phone = '02-123-1234'
result = phone.split('-')[2]

여기서는 1234가 출력된다!

-를 기준으로 앞에서 부터 각각 0,1,2로 인덱스가 붙는다.

 

<내맘대로 활용해보기!>

text = 'sparta'
result = text.split('r')[0]
result2 = text[:3]

둘 다 print하면 spa가 나옴~ 이렇게 split을 사용해도 되고, 슬라이싱을 사용해서 문자열 일부를 가지고 올 수 있다~

 

2. 리스트 다양한 기능: append, sort, in

a_list = [1,5,6,3,2]
a_list.append(99)
a_list.append(100)
print(a_list)

[1, 5, 6, 3, 2, 99, 100]로 출력된다.

<내맘대로 활용해보기!>

꼭 a_list.append(99), a_list.append(100) 이렇게 일일이 써야하는걸까? 궁금햇!

a_list.append(99,100)을 해보았다..

오류메세지..ㅎㅎ 안 됩니다..!

result = a_list[-1] : 제일 마지막 숫자 2가 출력된다. 이것도 새롭게 알게 됨;;

 

a_list = [1,5,6,3,2]
a_list.sort()
print(a_list)
#[1,2,3,5,6]으로 출력

a_list = [1,5,6,3,2]
a_list.sort(reverse=True)
print(a_list)
#[6,5,3,2,1]으로 출력

sort는 정렬, sort(reverse=True)는 역정렬..!!

a_list = [1,5,6,3,2]
result = (5 in a_list)
print(result)
#True 출력

 

3. 딕셔너리 요소 추가

a_dict = {'name':'bob', 'age':27,'friend':['영희','철수']}
a_dict['height']=180
print(a_dict)

#{'name': 'bob', 'age': 27, 'friend': ['영희', '철수'], 'height': 180} 출력

a_dict = {'name':'bob', 'age':27,'friend':['영희','철수']}
a_dict['height']=180
result=('height' in a_dict)
print(result)

#딕셔너리도 리스트처럼 in 사용

<내맘대로 활용해보기!>

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점 출력

#print(people[2]['score'['science']]) 이렇게 하면 오류메세지..!

 

느낀 점

  • 다른 문법을 사용해서 같은 출력값을 낼 수 있다는 것을 느꼈다.
  • 코드를 짤 때 더 효율적인 코드는 무엇일까 고민해야겠음을 느꼈다.