리스트는 대괄호([])로 감싸주고 각 요소는 쉼표(,)로 구분해 준다.
list1 = [1, 2, 3, 4, 5]
list2 = ['a', 'b', 'c', 'd']
list3 = [1, 2, 'a', 'b']
list4 = [1, 2, ['a', 'b']] # 2중 리스트
print(list4[1])
print(list4[-1])
print(list4[2][0])
출력 결과:
2
['a', 'b']
a
a = [1, 2, 3, 4, 5]
print(a[0:3])
print(a[:2])
print(a[2:])
출력 결과:
[1, 2, 3]
[1, 2]
[3, 4, 5]
리스트 내에 특정 요소를 수정할 수 있으며, del 키워드를 사용하여 요소 삭제도 가능하다.
*
연산자를 사용하면 리스트를 반복하여 출력하는 것도 가능하다. 요소를 추가할 때는 append를 사용한다.
a = ['a', 'b', 'c']
a[0] = 'A' # 리스트 수정
print("리스트 변경 :", a)
del a[1] # 리스트 삭제
print("리스트 삭제 :", a)
print("리스트 반복 :", a*3) # 리스트 반복
a.append('d') # 리스트 추가
print("리스트 추가 :", a)
출력 결과:
리스트 변경: ['A', 'b', 'c']
리스트 삭제: ['A', 'c']
리스트 반복: ['A', 'c', 'A', 'c', 'A', 'c']
리스트 추가: ['A', 'c', 'd']
튜플은 리스트와 비슷하지만 다른 점이 몇가지 있다.
우선, 튜플은 대괄호([])가 아닌 소괄호(())를 사용한다.
리스트와의 가장 큰 차이점은 튜플의 경우 요소를 변경시킬 수 없다.
tuple1 = (1, 2, 3)
tuple2 = 1, 2, 3 # 소괄호를 사용하지 않아도 튜플이 된다.
tuple3 = ('a', 'b', (1, 2, 3))
리스트와 마찬가지로 인덱싱과 슬라이싱, *
는 똑같이 사용가능하다.
딕셔너리는 key와 value로 구성된다.
딕셔너리의 경우 중괄호({})를 사용하며 key:value 형태를 가진다.
주의할 점은 key는 중복되지 않도록 해야한다.
dic1 = {'name':'park', 'birth':'19990101'}
dic2 = {'num':[1, 2, 3, 4]}
name과 birth는 key이고 park, 19990101은 value이다.
value에는 리스트를 삽입할 수도 있다.
dic1 = {'name':'park', 'birth':'19990101'}
print(dic1['name'])
print(dic1['birth'])
딕셔너리는 key를 사용하여 value의 값을 출력할 수 있다.
출력 결과:
park
19990101
dic1 = {'name':'park', 'birth':'19990101'}
dic1['add'] = 'Seoul'
print("딕셔너리 추가 : ", dic1)
del dic1['name']
print("딕셔너리 삭제 : ", dic1)
출력 결과:
딕셔너리 추가 : {'name':'park', 'birth':'19990101', 'add':'Seoul'}
딕셔너리 삭제 : {'birth':'19990101', 'add':'Seoul'}
set은 소괄호(())를 사용하여 만든다.
중복을 허용하지 않고 순서가 없기 때문에 집합을 print를 사용하여 출력하게되면 기존의 자료구조와는 다르게 출력된다.
이러한 set의 속성으로 인해 중복 제거를 위해 사용되기도 한다.
set1 = set([1, 2, 3])
set2 = set("Hello")
print(set1)
print(set2)
출력 결과:
{1, 2, 3}
{'e', 'o', 'l', 'H'}
set1 = set([1, 2, 3, 4])
set2 = set([2, 3, 5, 6])
print("합집합 : ", set1|set2)
print("합집합 : ", set1.union(set2))
print("교집합 : ", set1&set2)
print("교집합 : ", set1.intersection(set2))
print("차집합 : ", set1 - set2)
print("차집합 : ", set1.difference(set2))
출력 결과:
합집합 : {1, 2, 3, 4, 5, 6}
합집합 : {1, 2, 3, 4, 5, 6}
교집합 : {2, 3}
교집합 : {2, 3}
차집합 : {1, 4}
차집합 : {1, 4}