IT 개발/Python

[파이썬] 리스트, 튜플, 딕셔너리, 세트 (list, tuple, dictionary, set) 사용법

KADOSHOLY 2023. 12. 6. 02:24
반응형

 

파이썬 - 리스트, 튜플, 딕셔너리, 세트 (list, tuple, dictionary, set) 사용법

 

 

 

   목차

  1. 리스트 (list) 사용법 및 메소드
  2. 튜플 (tuple) 사용법
  3. 딕셔너리 (dictionary) 사용법
  4. 세트 (set) 사용법

 

 

1. 리스트 (list) 사용법 및 메소드

 

리스트는 하나의 변수에 다수의 데이터를 저장할 수 있는 자료형으로, 대괄호 [ ] 안에  정수, 실수, 문자열 등 모든 형태의 자료형을 포함시켜 사용할 수 있습니다. 

 

1) 리스트 생성방법

a = [ ]
b = list( )
c = [1, 2, 3]

 

 

2) 리스트 연산 및 리스트 값 가져오기

a = [1, 2, 3, 4]
b = ['a', 'b', 'c', 'd']

print("a + b  = ",  a + b)
print("a * 2  = ",  a * 2)
print("a[1]   = ",  a[1])
print("a[1:]  = ",  a[1:])
print("a[2:4] = ",  a[2:4])
print("b[2]   = ",  b[2])
print("b[:2]  = ",  b[:2])
print("b[2:4] = ",  b[2:4])

#실행결과#
a + b  =  [1, 2, 3, 4, 'a', 'b', 'c', 'd']
a * 2  =  [1, 2, 3, 4, 1, 2, 3, 4]
a[1]   =  2
a[1:]  =  [2, 3, 4]
a[2:4] =  [3, 4]
b[2]   =  c
b[:2]  =  ['a', 'b']
b[2:4] =  ['c', 'd']

 

 

3)  리스트 메소드

  1. .append(요소) :  요소 하나를 추가함
  2. .extend(리스트) :  리스트의 각 요소를 추가하여 리스트를 확장함
  3. .insert(인덱스, 요소) :  인덱스의 위치에 요소를 삽입함
  4. .pop(인덱스) :  해당 인덱스의 요소를 반환하고 삭제함 (인덱스 생략시 마지막 요소를 삭제함)
  5. .remove(값) :  리스트에서 맨처음 찾은 해당값 하나를  삭제함
  6. .index(값) :  리스트에서 맨처음 찾은 해당값의 인덱스 위치 정보를 반환함
  7. .count(값) :  리스트에 포함되어 있는 해당값의 개수를 구해서 반환함
  8. .sort( ) :  리스트의 요소를 오름차순으로 정렬함
  9. .sort(reverse = True) :  리스트의 요소를 내림차순으로 정렬함
  10. .reverse( ) :  리스트의 요소 순서를 반대로 뒤집음
  11. .clear( ) :  리스트의 모든 요소를 삭제함

 

[사용예제]

a = [1, 2, 3]
a.append(10)
a.append([20, 30])
a.extend([40, 50])
print("1: ", a)

b = ['a', 'b', 'c']
b.insert(1, 'z')
print("2: ", b)

c = [11, 22, 33, 44]
print("3: ", c.pop(), c)
print("4: ", c.remove(33), c)

d = ['a', 'b', 'c', 'b', 'b', 'b']
print("5: ", d.index('b'))
print("6: ", d.count('b'))
d.sort(reverse=True)
print("7: ", d)
d.sort()
print("8: ", d)
d.reverse()
print("9: ", d)
d.clear()
print("10: ", d)

 

[실행결과]

1:  [1, 2, 3, 10, [20, 30], 40, 50]
2:  ['a', 'z', 'b', 'c']
3:  44 [11, 22, 33]
4:  None [11, 22]
5:  1
6:  4
7:  ['c', 'b', 'b', 'b', 'b', 'a']
8:  ['a', 'b', 'b', 'b', 'b', 'c']
9:  ['c', 'b', 'b', 'b', 'b', 'a']
10:  []

 

 

 

 

2. 튜플 (tuple) 사용법 

 

튜플은 리스트와 유사하게 하나의 변수에 다수의 데이터를 저장할 수 있는 자료형이며 소괄호( )를 사용합니다. 

리스트와 가장 큰 차이점은 튜플의 경우에는 요소의 추가, 수정, 삭제등이 불가능하다는 점입니다. 

 

1) 튜플 생성방법

a = ( )
b = tuple( )
c = (1, 2, 3)

 

 

2) 튜플 사용법

 

튜플은 추가, 수정, 삭제등이 불가능하므로  append( ), extend( ) 등의 메소드는 사용할 수 없으나 index( ), count( )등은 리스트와 유사하게 사용할 수 있습니다. 

 

 

3) 튜플과 리스트간 변환

 

 튜플과 리스트는 아래와 같이 서로 변환하여 사용할 수 있습니다. 

a = [1, 2, 3]
print("1: ", a)
print("2: ", tuple(a))
print("3: ", list(a))

#실행결과#
1:  [1, 2, 3]
2:  (1, 2, 3)
3:  [1, 2, 3]

 

 

 

 

3. 딕셔너리 (Dictionary) 사용법 

 

딕셔너리는 키(key)와 밸류(Value)가 한 쌍을 이루어 구성되어 있는 자료형을 말하며, 중괄호{ }를 사용합니다. 

 

1) 딕셔너리 생성방법

  • 딕셔너리이름 = { key1 : value1,  key2 : value2,  key3 : value3 }
    • 키(key) : 다른 자료형도 가능은 하나 일반적으로 문자나 정수를 사용함
    • 밸류(value) : 모든 자료형 가능함
a = { }
b = dict( )
c = { 'a':10, 'b':20, 'c':30 }

 

 

2) 딕셔너리 값 추가

data = { 'a':1, 'b':2, 'c':3 }
data['d'] = 4

print("1: ", data)
print("2: ", data['a'])
print("3: ", data['d'])

[실행결과]
1:  {'a': 1, 'b': 2, 'c': 3, 'd': 4}
2:  1
3:  4

 

 

3) 딕셔너리 메소드

 

  1. .keys( ) :  key 값을 모두 가져옴
  2. .values( ) :  value 값을 모두 가져옴
  3. .items( ) :  key와 value값을 모두 가져옴
  4. .setdefault(key, value) :  key와 value를 저장함 (기존 데이터에 key가 존재해도 value 값을 수정하지 않음)
  5. .update( { key1:value1,  key2:value2 } ) :   key와 value를 저장함 (기존 데이터에 key가 존재하면 value 값을 수정함)

 

4) 사용예제

data = { 'a':1, 'b':2, 'c':3 }

print("00: ", data['a'])
print("01: ", data.keys())
print("02: ", data.values())
print("03: ", data.items())
print("04: ", list(data.keys()))
print("05: ", list(data.values()))
print("06: ", list(data.items()))
print()

data['a'] = 10
print("07: ", data)

data['d'] = 4
print("08: ", data)

data.setdefault('d',40)
data.setdefault('e',50)
print("09: ", data)

del data['e']
print("10: ", data)

data.update({'d':44, 'e':55 })
print("11: ", data)

 

[실행결과]

00:  1
01:  dict_keys(['a', 'b', 'c'])
02:  dict_values([1, 2, 3])
03:  dict_items([('a', 1), ('b', 2), ('c', 3)])
04:  ['a', 'b', 'c']
05:  [1, 2, 3]
06:  [('a', 1), ('b', 2), ('c', 3)]

07:  {'a': 10, 'b': 2, 'c': 3}
08:  {'a': 10, 'b': 2, 'c': 3, 'd': 4}
09:  {'a': 10, 'b': 2, 'c': 3, 'd': 4, 'e': 50}
10:  {'a': 10, 'b': 2, 'c': 3, 'd': 4}
11:  {'a': 10, 'b': 2, 'c': 3, 'd': 44, 'e': 55}

 

 

 

 

4. 세트 (Set) 사용법 

 

세트(Set) 또한 여러 개의 자료를 하나로 묶어 사용할 수 있는 자료형이며, 중괄호{  }를 사용합니다. 

세트(Set)의 특징으로는 아래와 같습니다 .

  • 세트(Set)에서는 요소에 숫자, 문자, 튜플만 저장할 수 있습니다.
  • 세트(Set) 내 요소는 순서가 없습니다. 따라서 사용할 때마다 각 요소의 순서가 바뀔수 있습니다.
  • 세트(Set)의 각 요소는 중복을 허용하지 않습니다

세트(Set)에서는 중복 요소를 허용하지 않기 때문에 요소의 중복 제거에 주로 활용되며, 합집합, 교집합, 차집합 등의 여러가지 집합과 관련된 연산을 할 수 있습니다. 

 

 

1) 세트 생성방법

  • 세트 이름 = { 요소1, 요소2, 요소3 }
a = set( )
b = set([1, 2, 3])
c = { 'a', 'b', 'c' }

 

 

2) 사용예제

 

[중복제거 예제]

a = [1, 2, 3, 1, 2, 3]
b = set(a)
c = list(b)
print("a: ", a)
print("b: ", b)
print("c: ", c)

#실행결과#
a:  [1, 2, 3, 1, 2, 3]
b:  {1, 2, 3}
c:  [1, 2, 3]

 

[합집합, 교집합, 차집합 예제]

a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
print("합집합 : ", set(a) | set(b))
print("교집합 : ", set(a) & set(b))
print("차집합 : ", set(a) - set(b))

#실행결과#
합집합 :  {1, 2, 3, 4, 5, 6}
교집합 :  {3, 4}
차집합 :  {1, 2}

 

반응형