st = [2,4,3,7,4]
print(min(st))
print(max(st))
min 함수 : 저장되어있는 값 중 제일 작은 값을 출력해줌
max 함수 : 저장되어있는 값 중 제일 큰 값을 출력해줌
st = [1,2,3]
st.append(4)
st.extend([5,6])
print(st)
append와 extend 둘 다 추가하는 함수인데,
append는 하나씩 추가할 때 사용하고 extend는 다른 리스트를 통째로 추가 할 때 사용한다.
위의 코드는 st라는 변수에 담겨있는 객체의 append함수를 호출하면서 4를 전달한다.
그리고 st라는 변수에 담겨있는 객체의 extend함수를 호출하면서 [5,6]을 전달한다
결론적으로 [1,2,3,4,5,6]이 출력된다.
st = [1,2,4]
st.insert(2,3)
print(st)
insert는 추가한다는 관점에서는 똑같다. 다만 두 개의 값을 인자로 받는데, 내가 추가할 위치를 지정 할 수 있다.
예를 들어서 insert(a,b)는 기존의 a번째 위치에 있는 값을 밀어내고 그 위치에 b를 넣으라는 뜻이다.
즉 위의 코드에서 insert(2,3)은 2번 자리에 있는 4를 밀어내고 3을 넣으라는 뜻이다.
그러면 2번 자리에 있던 4는 3번 자리로 밀리고 [1,2,3,4]가 출력된다.
st = [1,2,3]
st.clear()
print(st)
리스트 내용 전부 삭제하는 코드이다.
st = []
st.append(1)
st.append(9)
print(st)
이렇게 빈 리스트를 만들고 필요로 하는 값을 나중에 추가로 저장해도 된다.
st = [1,2,3,4,5]
st.pop(0)
pop 함수는 꺼내는 함수이다. pop(a)는 a번째 값을 꺼낸다는 의미이다.
값을 꺼내면 그 값은 리스트에서 없어지고, 이후 pop함수의 반환값으로 반환된다.
즉 pop(0)은 0번 자리에 위치한 1을 꺼내면서 st.pop(0)이 1로 대체된다. 이렇게 반환 된 값을 변수에 저장할 수 있다.
st변수의 리스트에는 1이 사라진 [2,3,4,5]만 남는다.
st.remove(5)
remove 함수는 삭제하기만 할 뿐 반환하지는 않는다
st = [1,2,3,1,2]
st.count(1)
st.index(2)
count(1)은 1이 몇 번 등장하는지 셀 수 있는 함수이다.
index(2)는 처음 2가 등장하는 위치의 인덱스 값을 말해주는 함수이다.
첫번째 2가 1번 자리에서 등장하므로 st.index(2)는 1이다
객체 안에 있는 함수와 객체 밖에 있는 함수가 있다.
리스트와 문자열도 객체이다.
리스트 안의 함수들을 호출하면 리스트를 대상으로만 일을한다
마찬가지로 문자열 안의 함수들은 호출하면 문자열을 대상으로만 일을한다
하지만 객체 밖의 함수는 리스트를 전달할수도 문자열을 전달할수도 있다.
객체 밖 함수와 객체 안 함수는 이러한 차이점이 있다. 일단은 쓰는 데에 집중하자
str = "LeeYongJin"
str.count("n")
str.count("ee")
문자열도 객체이다.
앞에서 리스트 내의 함수를 이용해서 리스트의 데이터를 수정했었다.
하지만 문자열은 한번 만들어지면 그 데이터를 바꿀 수 없다. 그러므로 내부 함수를 이용해서도 못바꾼다
내부함수는 문자열을 대상으로 새로운 문자열을 만드는 기능들을 제공한다.
위의 코드는 str이라는 변수가 가지는 객체(문자열)를 대상으로 count()를 호출한다. count는 몇개인지 알려주는 함수이다.
org = "Lee"
lcp = org.lower() #모든 문자를 소문자로 바꿔서 반환한다.
ucp = org.upper() #모든 문자를 대문자로 바꿔서 반환한다.
print(org) #원본은 그대로 존재.
print(lcp) #소문자로 바뀐 문자열이 출력
print(ucp) #대문자로 바뀐 문자열이 출력
lower()은 객체가 가진 모든 문자를 소문자로 바꾼 문자열을 별도로 하나 만들고 그것을 반환해준다.
upper()은 객체가 가진 모든 문자를 대문자로 바꾼 문자열을 별도로 하나 만들고 그것을 반환해준다.
즉 문자열의 원본은 그대로 존재한다.
org = " MIDDLE "
cp1 = org.lstrip()
cp2 = org.rstrip()
cp3 = org.strip()
print(org)
print(cp1)
print(cp2)
print(cp3)
strip이 들어가면 기본적으로 공백제거이다.
lstrip는 왼쪽 공백 제거 , rstrip는 오른쪽 공백 제거이다. strip는 양쪽 공백 제거이다.
이것 또한 마찬가지로 문자열이기에 원본을 수정하는게 아니라 공백이 없는 새로운 문자열을 만들고 반환하는 것이다.
org = "LeeYongJin"
rps = org.replace("ee", "oo" )
print(rps)
replace("aa", "bb")는 aa라는 문자열을 찾아 bb로 교체한 새로운 문자열을 만들고 그것을 반환하게 한다.
리스트였으면 데이터 자체를 바꿨을 것이지만 문자열이기에 원본 데이터는 그대로 있다.
org = "LeeYongjin"
rps = org.replace("ee","oo",1)
print(rps)
모든 oo를 ee로 바꾼 문자열을 만드는게 아니라 첫번째 oo만을 ee로 바꾼 문자열을 새로 만든 후 반환한다.
replace("aa","bb",상수)는 상수번째 aa를 bb로 바꾼 문자열을 새로 만들고 반환하라는 뜻이다.
org = "ab_cd_ef"
ret = org.split('_')
print(ret)
split('_')는 '_'을 기준으로 문자열을 쪼갠다. 그리고 리스트를 생성하고 쪼갠 것을 담아서 반환한다.
실행하면 ['ab', 'cd', 'ef]가 출력된다
마찬가지로 원본은 바꿀 수 없고 쪼갠 문자열을 리스트로 새로 만들어 값을 반환하는 것이다.
str = "what is important is that you should choosw what is best for you"
n1 = str.find("is")
n2 = str.rfind("is")
find("is")는 "is"가 있는 위치의 인덱스 값을 알려주는 함수이다. 왼쪽에서 오른쪽 방향으로 찾는다.
rfind("is")는 마지막 "is"가 있는 위치의 인덱스 값을 알려주는 함수이다. 오른쪽에서 왼쪽 방향으로 찾는다.
만약 찾는 값이 없다면 -1이 반환되니까 참고하자
\n #줄 바꿈
\t #탭
\' #작은 따옴표 출력
\" #큰 따옴표 출력
이스케이프 문자 : 의미가 약속된 문자
#리스트를 비우는 여러가지 방법
st = [1,2,3,4,5]
st.clear()
print(st)
#리스트의 모든 값 삭제
st = [1,2,3,4,5]
st[:] = []
print(st)
#리스트의 모든 값 삭제
st = [1,2,3,4,5]
st[2:] = []
print(st)
# 2번자리 이후로 전부 삭제
st = [1,2,3,4,5]
del st[:]
print(st)
#del은 오른쪽에서 명시하는 값을 지운다.
#위에서는 st의 처음부터 마지막까지를 명시했으므로 전부 지운다.
st = [1,2,3,4,5]
del st[3:]
del st[0]
print(st)
#3번째인 4부터 끝까지 먼저 지우고, 0번째인 1을 하나 지운다.
#즉 출력하면 [2,3]이 나온다.
위의 코드중 어떤걸 사용하던 자유고 절대적인 기준은 없다
다만 st[:] = []과 같이 범위를 지정해서 지우는 슬라이싱 연산이 상당히 파이썬스러운 연산이다.
st = [1,2,3,4,5]
del st
이것은 리스트의 내부 데이터를 지우는게 아니라 리스트가 들어있는 st라는 변수 자체를 지운다.
즉 통째로 사라진다.
리스트 내부를 비우려면 꼭 변수 옆에 [:] 식으로 범위를 지정해야한다
'프로그래밍 언어 > 파이썬 기초' 카테고리의 다른 글
파이썬 for문,while문 (0) | 2023.05.23 |
---|---|
파이썬 bool형,if문, 논리연산자 (0) | 2023.05.22 |
파이썬 '객체' (0) | 2023.05.18 |
파이썬 인덱싱,슬라이싱 연산 (0) | 2023.05.18 |
파이썬 type 등등 (0) | 2023.05.18 |