변수에 여러개의 데이터를 담는 방법은 파이썬에서 크게 4가지로 나뉠 수 있습니다.
1. 리스트(list) - [ ]
2. 튜플(tuple) - ( )
3. 세트(set) - { }
4. 딕셔너리(dictionary) - { : }
1. 리스트 ( list )
- 여러 값을 넣고 싶을 때 사용합니다.
- 데이터 변경(추가, 삭제, 교체 등)이 가능합니다.
- 순서 변경이 가능합니다.
score = [ 80, 20, 10, 50, 100 ]
student = [ "김말자", "나미리", "이하늬", "박길동", "홍길동" ]
*여기서 리스트 안의 각각의 데이터 80, 20, 10 ... , "김말자", "나미리".... 는 element(요소)라고 해요.
- 데이터 변경(추가, 삭제, 교체 등)이 가능한 2번째 특징을 사용하는 방법을 알아볼께요.
.append, .extend, .sort, .reverse, .remove, .clear
1) 추가에는 .append, .extend
append는 한개만 추가 할 때, 변수명.append(추가할 요소)
extend는 여러개를 추가 할 때, 변수명.extend([추가할 요소, 추가할 요소])
-> 여기에서 student.extend("뽀로로")로 넣어보니까 '뽀','로','로' 이런식으로 들어가더라구요.
2) 순서는 .sort, .reverse
순서에는 가나다, 123... 이런식으로 정렬하는 방법이고, 변수.sort()로 사용합니다.
순서 정렬이긴 한데 거꾸로 나열을 할때에는 변수.reverse()로 사용합니다.
3) 제거에는 .remove, .clear
하나를 제거할 때 사용하는, 변수.remove(삭제할 요소) *remove로 여러개를 삭제하려고 하면 에러가 발생하네요.
모두 제거할 때 사용하는, 변수.clear()
* 추가 : 리스트에서는 더하기(+)와 (*)가 가능합니다.
여기에서 더하기는 [1,2,3] 뒤에 + [4,5] 추가되는 느낌이예요.
곱하기도 마찬가지로 [1,2,3]이 있다면 실제 연산이 아니라 *2의 경우 [1,2,3,1,2,3] 이런식으로 됩니다.
2. 튜플 (tuple)
- 여러 값을 넣고 싶을 때 사용합니다.
- 데이터 수정이 불가능 합니다.
- 순서 변경이 불가능 합니다.
student_a = ( "김말자", "둘리" )
student_b = "김말자", "둘리"
이렇게 list인 [ ]와 달리 ( )로 표현하며, ( )에 없더라도 튜플로 인식하고 있습니다.
* 다만, student_c = "김말자" 라면 튜플이 아니지만 student_c = "김말자", 이렇게 쉼표가 들어가면 튜플이예요.
튜플은 리스트처럼 추가, 삭제, 수정이 되지 않기 때문에 데이터를 담고 읽는 역할로 사용합니다.
단 연산이 되는데, 리스트처럼 더하기, 곱하기가 됩니다.
튜플은 ( ) 담지 않아도 ,가 있다면 튜플로 담는다는 부분을 보여주려고, lunch와 dinner을 다른 방법으로 튜플로 담아 보았습니다.
그리고 두 변수를 더하니 "김밥","라면","떡갈비","밥","국"
곱하기는 반복이 되죠? "김밥","라면","김밥","라면"
3. 세트(set)
- 순서는 중요하지 않다(뒤죽박죽)
- 중복을 제거해 준다.
santa = {'자전거','킥보드','인형','인형','자전거','컴퓨터'} 산타가 선물 보따리에 전세계 어린이들에게 나누어줄 선물을 마구 담습니다.
그리고 이것을 세트로 출력하면 중복은 제거하고, {'자전거','킥보드','인형','컴퓨터'} 이렇게만 출력이 될꺼예요.
*세트에서는 리스트랑 튜플과 다르게 세트안에 들어있는 데이터를 원소member라고 부릅니다.
1) 빈 세트를 만들 때,
보통 빈 리스트나 빈 튜플을 만들 때 a = [ ] 또는 a = ( ) 이런식으로 만들고 시작할 수 있는데요,
세트의 경우는 a = { } 이렇게 만들면 빈 세트가 아니라 딕셔너리가 생성된다고 합니다.
그래서 빈 세트를 만들 때는 a = set( ) 이렇게 만들어 주실께요.
2) 세트에 원소member를 추가할 때,
원소 1개 추가는 .add() #리스트에서는 .append()
원소 여러 개 추가는 .update({}) or .update([]) #리스트에서는 .extend([])
3) 세트에서 원소를 하나 제거할 때 .remove() #리스트도 동일
세트를 전부 비울 때 .clear() #리스트도 동일
마지막으로 딕셔너리는,
4. 딕셔너리(dictionary)
- 사전처럼 설명이 붙어 있습니다.
- key : value 형태로 되어 있어요.
- key로 value를 찾을 수 있어서 순서가 중요하지 않습니다.
{"1번":"홍길동","2번":"둘리","3번":"희동이"} 이런식으로 말이죠.
*그리고 이렇게 key:value 의 한쌍을 item이라고 부릅니다.
1) 항목 추가하기
student = {"1번":"홍길동","2번":"둘리","3번":"희동이"} 이렇게 되어 있는데, 우리반에 새 친구가 왔어요.
student ["4번"] = "고길동"
2) 항목 수정하기 : 항목 수정도 가능해요.
student = {"1번":"홍길동","2번":"둘리","3번":"희동이"} 이렇게 되어 있는데, 둘리가 가고 길동이가 왔어요.
student ["2번"] = "고길동" 혹은
student.update({"2번":"고길동"}) 이렇게 변경이 가능합니다.
3) key값만 보려면? value값만 보려면?
이렇게 key를 모두 볼 때는 변수.keys() 이고, value를 모두 볼 때는 변수.values()입니다.
4) key로 value는 어떻게 찾을까?
방법은 2가지로. 변수.get(key)로 찾거나, 변수[key]로 찾습니다.
5) 항목 삭제하기, 모두 삭제하기
del 변수[key]를 하면 항목만 삭제가 되고, 모두 삭제를 하려면 변수.clear()예요. 모두 삭제는 리스트, 튜플, 세트 모두 동일하네요.
이번 포스팅에서는 파이썬에서 데이터를 담는 4가지 방법에 대해서 작성해 보았습니다.
앞으로 이 4가지 방법을 어떻게 활용하게 될지 기대가 되네요 :)
'파이썬 기초' 카테고리의 다른 글
[판다스] 판다스 처음 써봤다면? CSV 불러오고 편집하는 방법 정리 (0) | 2025.03.26 |
---|---|
[파이썬 기초] 파이썬 bool 타입과 그 활용 (0) | 2025.02.28 |
[파이썬 기초] range()를 써야 하는 이유? slicing과 비교하며 쉽게 배워보기 (0) | 2025.02.25 |
[파이썬 기초] 특정 요소의 일부를 가져오는 slicing (1) | 2025.02.14 |
[파이썬 기초] 데이터를 찾는 방법1 indexing (0) | 2025.02.11 |