[Python] Lv.3-2중급 / 최대최소, 문자열, 리스트

🐷Jinie (juniorDeveloper)·2020년 9월 29일
0

Python

목록 보기
7/8

1. max, min 구하기

파이썬 내장함수 max(), min() 은 자료에서 최대값, 최소값을 리턴합니다.
리스트와 같은 시퀀스 자료가 입력되면 시퀀스 자료의 요소 가운데 최대값 또는 최소값을 구하여 리턴.

  • 문자열에서 문자의 코드값이 가장 큰 문자가 최대값이며 코드값이 가장 작은 문자가 최소값이다.
    문자열이 알파벳으로 구성된경우 최대값은 알파벳 순서로 가장 뒤의 문자.
  • max()와 min()은 개별 숫자나 문자 문자열을 비교하여 최대값 또는 최소값을 구할 수 있다.

2. 문자열

2-1. 문자열에서 특정위치의 문자 얻기

시퀀스 자료의 인덱싱을 이용한다.

❗️'시퀀스 자료형'
어떤 객체가 순서를 가지고 나열 되어 있는 것을 말한다.
1. 문자열 / 'abcd'
2. 리스트 /[1,2,3,4]
3. 튜플/ (100,200,300)

❗️'인덱싱'이란 시퀀스 자료형에서 인덱스를 통해 해당하는 값을 얻는 방법. 0부터 시작.
음수인 인덱스도 사용가능하다(끝에서 n번째).

2-2. 문자열에서 지정한 구간의 문자열 얻기

시퀀스 자료의 '슬라이싱'을 이용한다.

❗️'슬라이싱'
[시작 인덱스 : 끝 인덱스 : 스텝] 시작인덱스 '이상'부터 끝 인덱스 '미만'까지 자료를 취하라.
*여기서 '스텝'은 자료를 취하는 간격이다. 생략이 가능하며 디폴트 값은 1이다.
즉, [::2]는 처음부터 끝까지 스텝을2로해서 자료를 취해라.
그렇기 때문에 Time is money라는 글이 Tm smny 로 출력되었다. (띄어쓰기 포함)

문자열 길이구하기 len()을 이용하여 for문의 범위를 설정하고 아래와 같은 프로그램을 짜볼 수 있다.⬇️

2-3. 문자열 거꾸로 만들기

시퀀스 자료의 슬라이싱을 활용하여 문자열 txt의 처음부터 끝까지 거꾸로 스텝을 주고 출력하면 된다.

2-4. 두 개의 문자열 합치기

사용자가 입력한 문자열에 '.jpg'를 붙여 새로운 문자열을 만드는 방법
두개의 문자열을 합치는 방법은 문자열+문자열

❗️'시퀀스부분 참고자료'

  • 시퀀스 자료연결 : 자료형이 '동일한' 두개의 시퀀스 자료는 +연산자로 순서있게 연결하여 다른 시퀀스 자료를 만들 수 있다. ❗️문자열과 리스트를 +로 연결할 수 없다.
  • 시퀀스 자료반복 : 시퀀스*n을 하면 n번 반복된 시퀀스를 새로운 자료로 만들 수 있다.
    ***변수에 새로운 시퀀스의 값을 넣어 출력할 수 있다.

2-5. 문자열에서 특정문자, 문자열이 있는지 확인하기 (in)

'in' 키워드는 시퀀스 자료에 특정요소가 있는지 없는지 확인하는데 사용한다.

❗️in은 자료에 어떤 값이 있는지 없는지 확인할 때 사용하는 키워드이다.
"값 in 자료"의 형태로 사용할 수 있고 결과는 True 또는 False가 된다.

2-6. 문자열 검사하기 [ True / False 로 결과값을 리턴합니다.]

  • 문자열이 알파벳인지 검사하기 :
    str.isalpha()
  • 문자열이 숫자인지 검사하기 :
    str.isdigit()
  • 문자열이 알파벳 또는 숫자인지 검사하기:
    str.isalnum()

2-7. 문자열에서 대소문자 변환하기

  • str.upper() : 메소드에 있는 문자열을 모두 알파벳 대문자로 만든 결과를 리턴한다.
  • str.lower() : 메소드에 있는 문자열을 모두 알파벳 대문자로 만든 결과를 리턴한다.

2-8. 문자열에서 좌우 공백 제거하기

str.lstrip()
str.rstrip()
str.strip()

2-9. 문자열을 수치형 자료로 변환하기 (int, float)

숫자로 된 문자열을 수치형 자료로 변환한다.
파일에서 읽어들인 숫자나 사용자로부터 입력받은 숫자는 '문자열'이다. 즉, 수학연산을 해야하는 경우는 수치형 자료로 변환해야 한다.

❗️수치형자료를 (str)을 이용해 문자열로 변환할 수도 있다.

2-10. 문자열에 있는 문자(열) 개수 구하기/ 위치찾기 / 분리하기

  • str.count() : 문자열에 있는 특정 문자 또는 문자열의 개수를 구한다.
  • str.find() : 문자열에서 특정 문자나 문자열이 위치하는 인덱스를 리턴한다.
  • str.split() : 문자열을 구분자 기분으로 여러개의 문자열로 분리할 수 있다.
url = '010-5037-6133'
r1=url.split('-')
r = r1[0] + r1[1] + r1[2]
print(r)

3. 리스트

3-1. 리스트에서 특정요소의 위치 구하기 (index)

리스트 객체의 index() 메소드는 인자로 입력되는 값에 해당하는 요소의 인덱스를 리턴한다.

  • list.index(찾을 요소)
  • list.index(찾을 요소, 몇번째 이후부터)

3-2. 리스트에서 특정구간 요수 추출/ 짝수번째 요소 추출,

시퀀스와 동일하게
리스트 자료의 '슬라이싱'을 이용한다.

❗️'슬라이싱'
[시작 인덱스 : 끝 인덱스 : 스텝] 시작인덱스 '이상'부터 끝 인덱스 '미만'까지 자료를 취하라.
*여기서 '스텝'은 자료를 취하는 간격이다. 생략이 가능하며 디폴트 값은 1이다.
즉, [::2]는 처음부터 끝까지 스텝을2로해서 자료를 취해라.
그렇기 때문에 Time is money라는 글이 Tm smny 로 출력되었다. (띄어쓰기 포함)


문자열, 리스트, 사전형 모두 다양한 내장함수를 가지고 있는 점을 알게 되었다.
전반적으로 비슷한 기능을 가지고 있으나, 조금씩 사용 방법이 다르다.
무조건 다 외우기 보다는 해당 기능이 필요한 시점에 떠오르는 것이 중요한듯 하다.

profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글