관리 메뉴

공부 기록장 💻

[Python] set 집합 자료형, 문자열 리스트 함수, sys.stdin.readline 입력받기 본문

# Language & Tools/Python

[Python] set 집합 자료형, 문자열 리스트 함수, sys.stdin.readline 입력받기

dream_for 2022. 3. 3. 20:08

Python 자료구조

set 집합 자료형

  • s1 = list(set([1,2,3,3])) -> [2,1,3]
  • 특징: 순서가 없으며, 중복을 허용하지 않는다.

  • 교집합: s1&s2, s1.intersection(s2)
  • 합집합: s1|s2, s1.union(s2)
  • 차집합: s1-s2, s2-s1, s1.difference(s2), s2.difference(s1)
  • 값 1개 추가: s1.add(4)
  • 값 여러개 추가: s1.update([4,5,6])
  • 특정값 제거: s1.remove(2)




문자열

문자열 거꾸로 뒤집기

  • reversed_a = a[::-1]

아스키코드

  • ord(word) : word의 아스키코드값
  • chr(num) : 아스키코드값 num을 문자로 변환

리스트 형태를 문자열로 반환

  • ''.join(strList)

문자열 관련 함수들

  • lower(), upper() : 대문자 소문자 변환
  • isalpha() : 알파벳 확인
  • isalnum() : 알파벳 또는 숫자 확인
  • isdigit(), isdecimal(), isnumeric() : 문자열이 숫자로 되어있는지 확인




입력 받기 (sys.stdin.readline)

input() 대신 sys.stdin.readline() 사용 이유

  • 반복문으로 여러 줄 입력 받는 경우 input()은 시간 초과 발생할 수 있다.



sys.stdin.readline() 사용법

1. 한 개 정수 입력 받기

  • 한 줄 단위로 입력 받아 개행 문자까지 같이 입력받게 되므로, 변수 타입에 따라 꼭 형변환을 거쳐야 한다.
import sys

a = int(sys.stdin.readline())

2. 정해진 개수의 정수를 한 줄에 입력 받을 때

import sys

a, b, c = int(map, sys.stdin.readline().split())

3. 임의의 개수의 정수를 합력에 입력받아 리스트에 저장할 때

import sys

data = list(map(int, sys.stdin.readline().split()))

4. 임의의 개수의 정수를 n줄 입력 받아 리스트에 저장할 때

  • 각 요소의 길이가 동일한 2차원 리스트 또는 각각 길이가 다른 2차원 리스트도 입력 받을 수 있음
import sys

data = []
n = int(sys.stdin.readline())
for i in range(n):
    data.append(list(map(int,sys.stdin.readline().split)))

5. 문자열 n줄을 입력 받아 리스트에 저장할 때

  • strip([chars]) : String의 왼쪽과 오른쪽의 char를 제거
import sys

n = int(sys.stdin.readline())
data1 = [int(sys.stdin.readline()) for i in range(n)] # 정수로 변환
data2 = [sys.stdin.readline().strip() for i in range(n)] # 문자열

728x90
반응형
Comments