AI학습 3일차

이유진·2024년 1월 18일

산술 연산자 정리

  • +,-,*,/,//,%,
    print(10/3) # 다른 언어와 다르게 소수점 몇번째 자리까지 결과가 나온다.
    print(10//3) # 몫 연산자
    print(10%3) # 나머지 연산자
    print(2
    3)

--5.문자열 다루기.ipynb--

1. 문자열 인덱싱

  • 문자열에 번호를 매겨 특정 문자를 찾을 수 있는 기능
  • index 번호는 0부터 순차적으로 자동 부여된다.

string = '문자열에 번호를 매겨 특정 문자를 찾을 수 있는 기능'
print(string)

print(string[0])
print(string[4])
print(string[-4:])

변수의 개념 조금 더 숙지!

값과 저장공간의 차이!

print('이유진 폼 미쳐따잇'[6])

2. 문자열 슬라이싱

string2 = '문자열에서 원하는 부분을 추출하는 기능'
print(string2)

print(string2[0:3])

print(string2[-9:-4])
print(string2[:3]) #처음부터 3이 되기 직전까지
print(string2[10:]) # 10부터 끝까지

3. 문자열 함수

  • 문자열과 관련된 여러가지 가능(함수)

string3 = '문자열 함수는 문자열과 관련된 여러가지 기능'
print(string3)

count() : 문자열에서 매개변수로 전달된 문자열의 출현 횟수를 반환

print(string3.count('함수')) # .이후에 들어오는 함수들은 메소드라고 한다.
print(string3.count('문')+5)

find() : 매개변수로 전달된 문자가 처음 나오는 위치를 인덱스로 반환

print(string3.find('열'))
print(string3.find('이유진')) #없으면 -1을 반환한다.
print(string3.find('함수')) #실행이 가능하나 쓰는 목적이 다르다.
print(string3.find('문',5)) # 두번째 나오는 '문'의 index를 반환하고 싶다면 (String, 몇번째 인덱스 부터 검색할지) 를 적으면 된다.

first = string3.find('문')
print(string3.find('문', first+1))

index() : 매개변수로 전달된 문자가 처음 나오는 위치를 인덱스로 반환

print(string3.index('열'))
print(string3.index('라')) # ValueError: substring not found 없는걸 찾아서 에러가 난다.

replace() : 특정 문자열을 치환

변수 안에 있는 값을 수정하는 게 아닌, 바꾼 값을 반환해준다.

print(string3.replace('기능','함수'))
print(string3)
string3 = string3.replace('기능','함수')
print(string3)

공백 제거

lstrip() : 문자열의 왼쪽 공백을 제거

rstrip() : 문자열의 오른쪽 공백을 제거

strip() : 문자열의 양쪽 공백을 제거

제거한 후 반환!

string4 = ' 외계인 꼬지민 '
print(string4)
print(string4.lstrip())
print(string4.rstrip())
print(string4.strip())

모든 공백을 제거하기

print(string4.replace(' ',''))

--6.리스트.ipynb--

1. 리스트(list)

  • 여러가지 데이터타입의 데이터를 ,콤마로 구분하여 []로 감싼 구조

classroom = input('수강생들의 나이를 입력하세요:(쉼표포함)').split(',')
print(classroom)

리스트 만드는 방법1

list1 = [1,3,5,7,9]
print(list1)
print(type(list1)) # 리스트도 하나의 타입이다.

리스트를 만드는 방법2

list()함수 사용

list2 = list([1,2,3,4,5]) # 튜플, 딕셔너리 등등 다른 배열을 list로 만들어줄 때 사용함.
print(list2)

#문자만 가지고 만들어보기
list3 =['이유진','이지민','용호중','안민혁','이세찬']
print(list3)

여러가지 데이터 타입을 섞어서 만들어보기

list4 = ['이유진',25, 174.1, True]
print(list4)

여러가지 타입을 담을 수 있는 리스트에 특성상

요소로써 저장할 수 있다.

list5 = [1, 3.14, ['이유진','배고파']]
print(list5)

print(list5[2][0])

2. 리스트 인덱싱

list1 = [1,3,5,7,9]
print(list1, '\n')

인덱싱 하는 방식은 문자열과 동일하다.

print(list1[2])

리스트 인덱싱한 결과는 하나의 독립적인 값으로 봐야한다.

그렇기에 데이터 타입에 맞게 연산도 가능하다.

print(list1[-1] + 40)

list5 = [1, 3.14, ['이유진','배고파']]
print(list5,'\n')

print(list5[2][0]+list5[2][1])

list6 = [1,3,5,['이유진','이지민','용호중',['이제','그만','보자']]]

'그만' 뽑기

print(list6[3][3][1])

  1. 리스트의 슬라이싱

문자열 슬라이싱과 같다

list7 = [10, 20, 30, 40, 50]
print(list7)

print(list7[0:3])
print(list7[-3:])

4.리스트 연산자

list8 = [10,20,30]
list9 = [100,200]

리스트끼리의 덧셈 연산은 연결!

print(list8 + list9)
#print(list8 - list9) # TypeError: unsupported operand type(s) for -: 'list' and 'list'
#print(list8 / list9) #TypeError: unsupported operand type(s) for /: 'list' and 'list'
#print(list8 * list9) #TypeError: can't multiply sequence by non-int of type 'list'

리스트오 정수의 연산은 가능!

정수만큼 반목해준다.

print(list8 *3)

5.리스트의 수정/삭제

list9 = [10,20,30]

list9[1] = 2222
print(list9)

profile
독해지자

0개의 댓글