자료형 - list, str, dictionary, set

수경·2023년 6월 1일
0

파이썬

목록 보기
2/5

str 문자열

# 함수

# maketranse(): 문자열 매핑 테이블 생성 함수
# 형식: str.maketrans(before, after, except)
#		-> before를 after로 치환, except제거
# 		-> before와 after의 길이가 같아야 함
s = str.maketrans("abc", "012")
print(s)	# {97: 48, 98: 49, 99: 50}

# translate(): 매핑 테이블을 통해 문자열 변환
print("abc".translate(s))	# 012

set 집합 자료형

  • 해시 함수와 해시 테이블을 이용해서 만든 자료구조
    ➡️ in 연산의 시간 복잡도 O(1)
  • 중복 허용 x
  • a 집합과 b 집합의 합집합, 교집합, 차집합을 쉽게 구할 수 있음
a = set([1, 2, 3, 4, 5])
b = set([2, 4, 6, 8, 10])

print(a | b)	# 합집합
print(a & b)	# 교집합
print(a - b)	# 차칩합


# 함수

# 요소 추가
a = set()
a.add(1)	# a = {1}

a = set([1, 2, 3, 4, 5])
other = set([1, 3, 5])

print(a.isdisjoint(other))	# 공통 원소의 유무
print(a.issubset(other))	# a의 모든 원소가 other에 포함되는지 (False)
print(other.issubset(a))	# other의 모든 원소가 a에 포함되는지 (True)

dictionary 딕셔너리

  • 해시 함수와 해시 테이블을 이용해서 만든 자료구조
    ➡️ in 연산의 시간 복잡도 O(1)
  • dict = {key1:value1, key2:value2}
  • java의 map과 같은 자료형
  • key값 중복 허용 x, value값 중복 허용 o

# 함수

# key 리스트
a = {'name': 'pey', 'phone': '010-9999-1234', 'birth': '1118'}
a.keys()	# dict_keys(['name', 'phone', 'birth'])

# value 리스트
a.values()	# dict_values(['pey', '010-9999-1234', '1118'])

# key와 value 
a.items()	# dict_items([('name', 'pey'), ('phone', '010-9999-1234'), ('birth', '1118')])

# key와 value 모두 지우기
a.clear()

# key로 value 얻기
a.get(key)	# value

# 특정 value가 딕셔너리 안에 있는 지 확인
a = {'name':'pey', 'phone':'010-9999-1234', 'birth': '1118'}
print('name' in a) 	# True
print('email' in a)	# False

list 리스트

  • 선형적 데이터 구조
    ➡️ in 연산의 시간 복잡도 O(N)
  • 리스트의 요소로 여러 자료형 넣을 수 있음
  • 슬라이싱이 용이함
  • 리스트 연산 +, -, * 가능
# 여러 자료형 넣기
lst = [1, 2, "a", [4, 5]]	# 가능


# 인덱싱
a = [1, 2, 3, ['a', 'b', 'c'], 4, 5]
print(a[2:5])	# [3, ['a', 'b', 'c'], 4] (인덱스 2 ~ 4까지)
print(a[3:])	# [['a', 'b', 'c'], 4, 5] (인덱스 3 ~ 마지막 요소까지)
print(a[-1])	# 5 (마지막 요소)


# 연산
a = [1, 2, 3]
b = [4, 5, 6]
print(a + b)	# [1, 2, 3, 4, 5, 6]
print(a * 3)	# [1, 2, 3, 1, 2, 3, 1, 2, 3]


# 함수
# 요소 추가
a = []
a.append(10)	# a = [10]

# 정렬
a = [10, 9, 8, 7 , 6, 1, 2, 3, 4, 5]
a.sort()	# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 뒤집기
a.reverse()	# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

# 요소 찾기 (처음 나오는 요소의 인덱스 반환)
a = [10, 9, 8, 7, 6, 1, 2, 3, 4, 5]
a.index(8)	# 2

# 요소 제거 (처음 나오는 요소 제거)
a.remove(8)	# a = [10, 9, 7, 6, 1, 2, 3, 4, 5]


# 요소 개수 세기
a = [1, 2, 2, 3, 3, 3]
a.count(3)	# 3

# 중복 제거
list(dict.fromkeys(list))
profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글

관련 채용 정보