본문 바로가기
기타

Python : String, List, Tuple, Dictionary, Set 자료형

by jaesungLeee 2021. 7. 24.

 

1. String

1. 문자열 초기화

 

data1 = "AAA"
data2 = 'BBB'
data3 = "I'm \"jslee\""

print(data1)		# AAA
print(data2)		# BBB
print(data3)		# I'm jslee

 

 

2. 문자열 연산

 

data = "Hello"
data2 = "Python"

print(data + " " + data2)		# Hello Python
print(data * 3)                 	# HelloHelloHello

 

 

3. 인덱싱, 슬라이싱

 

data = "ABCDEF"

print(data[2])		# C
print(data[2:5])	# CDE

data[3] = 'J'		# TypeError: 'str' object does not support item assignment

 

 

2. List

1. List 초기화

 

# List Initialize
data = [1, 2, 3, 4, 5]
data2 = [0] * 10		# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

# Empty List Initialize
data3 = list()
data4 = []

 

 

2. 인덱싱, 슬라이싱

 

data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

# Indexing
print(data[1])		# 2
print(data[-2])		# 9

# Slicing
print(data[2:5])	# [3, 4, 5]
print(data[-1:-3]	# []
print(data[-3:-1]	# [8, 9]

 

 

3. List Comprehension

 

# 0 ~ 19 중 홀수만 넣는 list

data = [i for i in range(20) if i % 2 == 1]
print(data)		# [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]


# 4 x 5 2차원 행렬의 list

data2 = [[0] * 5 for _ in range(4)]
print(data2)		# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

 

 

4. List Methods

 

data = [1, 2, 3, 4, 5]
print(data)

data.append(6)
print(data)

data.sort(reverse=True)
print(data)

data.reverse()
print(data)

data.pop(3)
print(data)

data.insert(3, 4)
print(data)

print(data.count(3))

data.remove(4)
print(data)


# [1, 2, 3, 4, 5]
# [1, 2, 3, 4, 5, 6]
# [6, 5, 4, 3, 2, 1]
# [1, 2, 3, 4, 5, 6]
# [1, 2, 3, 5, 6]
# [1, 2, 3, 4, 5, 6]
# 1
# [1, 2, 3, 5, 6]

 

 

3. Tuple

  • 한번 선언된 값은 변경 불가
  • ( )를 이용
  • 인덱싱, 슬라이싱 사용 가능
  • List에 비해 공간 효율적

 

1. Tuple 초기화

 

# Tuple Initialize
data = (1, 2, 3, 4)

# Empty Tuple Initialize
data2 = tuple()


data[3] = 4		# TypeError : 'tuple' object does not support item assignment

 

 

4. Dictionary

  • (Key, Value) 쌍으로 구성
  • ex.) { Key1 : Value1, Key2 : Value2, Key3 : Value3, ... } 
  • 인덱싱, 슬라이싱 사용 불가

 

1. Dictionary 초기화

dic = dict()
dic['Id'] = 112233
dic['name'] = 'jslee'
dic['birth'] = 970011

print(dic)		# {'Id': 112233, 'name': 'jslee', 'birth': 970011}

dic['like'] = ['Android', 'Firebase', 'Chat Service', 'e-commerce']

print(dic)		# {'Id': 112233, 'name': 'jslee', 'birth': 970011, 'like': ['Android', 'Firebase', 'Chat Service', 'e-commerce']}

 

 

2. Dictionary Methods

  • keys( ) : Key를 담은 List
  • values( ) : Value를 담은 List

 

dic = dict()
dic['Id'] = 112233
dic['name'] = 'jslee'
dic['birth'] = 970011

key = dic.keys()
value = dic.values()
print(key, value)

for i in key :
	print(dic[i], end=" ")

# dict_keys(['Id', 'name', 'birth']) dict_values([112233, 'jslee', 970011])
# 112233 jslee 970011

 

 

5. Set

  • 중복 허용 X
  • 순서 X
  • 인덱싱, 슬라이싱 사용 불가

 

1. Set 초기화

 

# Set Initialize
data = set([1, 2, 3, 4, 5])		# {1, 2, 3, 4, 5}
data2 = {1, 2, 3, 4, 5}			# {1, 2, 3, 4, 5}

# Empty Set Initialize
data3 = set()		            	# set()

 

 

2. Set 연산

 

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

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

 

 

3. Set Methods

 

data = set([1, 2, 3])
print(data)

data.add(5)
print(data)

data.update([6, 8])
print(data)

data.remove(1)
print(data)

data.clear()
print(data)

# {1, 2, 3}
# {1, 2, 3, 5}
# {1, 2, 3, 5, 6, 8}
# {2, 3, 5, 6, 8}
# set()

'기타' 카테고리의 다른 글

알고리즘 성능 분석 : 시간 복잡도 & 공간 복잡도  (0) 2021.07.21