일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- git
- react
- NeXT
- dict
- S3
- Vue
- docker
- 중급파이썬
- flask
- RDS
- Class
- MongoDB
- lambda
- 카톡
- crud
- SAA
- 채팅
- merge
- socket io
- wetube
- EC2
- async
- TypeScript
- AWS
- 튜플
- pandas
- node
- Props
- SSA
- 파이썬
- Today
- Total
초보 개발자
몰랐던 것들 (문자열 인덱싱, 슬라이싱, endswith, startswith,del ,remove, sum, min, max, join, dict ) 본문
몰랐던 것들 (문자열 인덱싱, 슬라이싱, endswith, startswith,del ,remove, sum, min, max, join, dict )
taehyeki 2021. 12. 15. 11:06
# 028 문자열은 immutable
# 아래 코드의 실행 결과를 예상해보세요.
#
# >> lang = 'python'
# >> lang[0] = 'P'
# >> print(lang)
"⭐⭐⭐"
"문자열 수정안됨 !!" \
"c언어에서는 됐었찌 아마"
lang의 0번째 인덱스에 있는 p를 P로 강제로 바꿔주는 것인데 이렇게 해주면 오류가 난다.
C언어에서는 되었던 것 같아 P로 바뀐다고 생각했었는데 안된다.
# 023 문자열 인덱싱
# 아래의 문자열에서 '홀' 만 출력하세요.
#
# >> string = "홀짝홀짝홀짝"
# 실행 예:
# 홀홀홀
string = "홀짝홀짝홀짝"
print(string[::2])
[::2]는0번째부터 끝까지 그리고 2칸씩 띄워서 표기(첫 포함)
0 1 2 3 4 5
# 024 문자열 슬라이싱
# 문자열을 거꾸로 뒤집어 출력하세요.
#
# >> string = "PYTHON"
# 실행 예:
# NOHTYP
"⭐⭐⭐"
string = "PYTHON"
print(string[::-1])
[::-1]도 마찬가지로 0번째부터 끝까지 그리고 뒤에서 하나씩이니까
거꾸로 표기가 가능하다.
capitalize() 메써드
문자열의 첫글자는 대문자로, 나머지는 소문자로 변환한다.
>>> int_list = [1, 2, 3, 4, 5, 6, 7]
>>> str_list = ['가','나','다','라','마']
>>> del int_list[0] # 한개의 요소를 삭제
>>> print(int_list)
[2, 3, 4, 5, 6, 7]
>>> del str_list[3:] # 여러개의 요소를 삭제
>>> print(str_list)
['가', '나', '다']
print ( 'hello world!'.capitalize() ) # Hello world!
print ( 'HELLO WORLD!'.capitalize() ) # Hello world!
endswith
# 044 endswith 메서드
# 파일 이름이 문자열로 저장되어 있을 때 endswith 메서드를 사용해서 파일 이름이 'xlsx'로 끝나는지 확인해보세요.
#
# file_name = "보고서.xlsx"
file_name = "보고서.xlsx"
a = file_name.endswith('xlsx')
print(a)
endswith는 ('str','start','end') 3개의 인자를 넣어줄 수 있다. end는 + 1을 해줘야 실제로 포함이 된다.
start와 end를 넣어주지 않으면 처음부터 끝까지 기준이다.
만약 'xlsx' 또는 'xls'로 끝나는 것을 알고 싶을 경우에는
file_name.endswith(("xlsx", "xls"))
이렇게 튜플로 적어주면 가능하다.
startswith또한 사용법은 마찬가지이다. 이 경우에는 앞에서 시작하는 걸 찾을 때 사용한다.
del
list에서 삭제를 할 때는 del과 remove가 있다 쉽게 말해서 del은 인덱스를 사용하여지우는 것이고
remove는 값을 이용하여 지우는 것이다
>>> int_list = [1, 2, 3, 4, 5, 6, 7]
>>> str_list = ['가','나','다','라','마']
>>> del int_list[0] # 한개의 요소를 삭제
>>> print(int_list)
[2, 3, 4, 5, 6, 7]
>>> del str_list[3:] # 여러개의 요소를 삭제
>>> print(str_list)
['가', '나', '다']
>>> numbers = [1, 2, 2, 3, 3, 3] # 숫자 3이 3개인 리스트
>>> numbers.remove(3)
>>> print(numbers)
[1, 2, 2, 3, 3] # 숫자 3이 2개로 줄어들었음
단, array 안에서 삭제하고자 하는 값이 여러 개가 있다 하더라도 첫 번째 값에 대해서만 삭제한다.
remove 함수를 사용하여 모든 값을 삭제할 때는 for문을 이용할 수도 있다.
nums = [1, 2, 3, 4, 5, 6, 7]
a = max(nums)
b = min(nums)
print(a)
print(b)
리스트에서 max min값을 구할 수 있다.
nums = [1, 2, 3, 4, 5]
print(sum(nums))
sum을 사용하여 리스트의 합을 구할 수도 있다.
평균을 구하는 함수는 없는 것 같다. sum() / len() 으로 구해주어야 한다.
join
'구분자'.join(리스트)
구분자에는 리스트에서 문자열로 변환할 때 사이 사이 마다 넣어줄 글자를 의미하는 것이다.
"''.join(리스트)
''.join(리스트)를 이용하면 매개변수로 들어온 ['a', 'b', 'c'] 이런 식의 리스트를 'abc'의 문자열로 합쳐서 반환,
'_'.join(['a', 'b', 'c']) 라 하면 "a_b_c" 와 같은 형태로 문자열을 만들어서 반환해 준다.
sort sorted
sort 함수는 리스트명.sort( ) 형식으로 "리스트형의 메소드"이며 리스트 원본값을 직접 수정합하고 sorted 함수는 sorted( 리스트명 ) 형식으로 "내장 함수"이며 리스트 원본 값은 그대로이고 정렬 값을 반환한다.
sort의 return 은 None 이고 원본이 직접 바뀐다.
sorted의 return은 원본을 복제하여 정렬한 것이고 원본은 안바뀐다.
a1 = [6, 3, 9]
a2 = a1.sort() # 원본을 정렬한다 즉 원형이 바뀐다. 그리고 return 값은 None이다.
print('-----정렬 후-----')
print('a1:', a1) # [3,6,9]
print('a2:', a2) # None
튜플 언팩킹
dict로 딕셔너리 만들기
dict는 다음과 같이 키와 값을 연결하거나, 리스트, 튜플, 딕셔너리로 딕셔너리를 만들 때 사용한다.
- 딕셔너리 = dict(키1=값1, 키2=값2)
- 딕셔너리 = dict(zip([키1, 키2], [값1, 값2]))
- 딕셔너리 = dict([(키1, 값1), (키2, 값2)])
- 딕셔너리 = dict({키1: 값1, 키2: 값2})
먼저 다음과 같이 dict에서 키=값 형식으로 딕셔너리를 만들 수 있고 이때는 키에 ' '(작은따옴표)나 " "(큰따옴표)를 사용하지 않아야 한다. 자동으로 키는 딕셔너리를 만들고 나면 문자열로 바뀐다.
'Python > 이것 저것' 카테고리의 다른 글
if __name__ == __main__ 을 알아보자 !! (0) | 2022.01.03 |
---|---|
Flask redirect , uri_for를 알아보자! (0) | 2021.12.28 |
파이썬 인스턴스 변수, 클래스 변수, 인스턴스 메서드, 클래스 메서드 (0) | 2021.12.26 |
datetime 파이썬에서 날짜와 시간 다루기 (0) | 2021.12.25 |
파이썬 문제 풀이 (0) | 2021.12.19 |