| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- sk 쉴더스 루키즈
- React
- 위상 정렬
- 루키즈 31기
- 루키즈31기
- SK쉴더스
- 자바
- 코리안챔버오케스트라
- 레나튜토리얼
- sk쉴더스 루키즈
- 예술의 전당
- webhacking
- 악성코드 분석
- linux
- 서울청년문화패스
- SK쉴더스루키즈
- c
- 진입차수
- 우테코
- 백엔드
- Dreamhack
- 깃
- 동적분석
- Practical Malware Analysis Labs
- 프리코스
- 우아한테크코스
- 애플리케이션 계층
- 웹개발
- 프랑스어 #프랑스어배우기 #프랑스어독학 #델프인강 #시원스쿨프랑스어 #delf독학 #델프 #프랑스어기초 #프랑스어공부
- 알고리즘
- Today
- Total
yon11b
[SK 쉴더스 루키즈] 파이썬 기초 2(리스트, 튜플, 딕셔너리, 집합) 본문
리스트
자료형의 묶음을 표현. 순서를 가지는 데이터의 묶음
list(): 튜플을 리스트로 변환할 때 주로 사용하는 함수
list=10 # --> 이걸 쓰는 순간 class list는 못 쓴다.
list_a = [1,2,3]
list_a[0] # 변수와 같다. => 주소값
# list_a = [int_address, int_address, int_address]
리스트의 중첩
list_b = [1, 2, 'string', ['a', 'b', 'c', [10, 20, 30]] ]
가능한가?-> ㅇㅇ
변수는 모든 타입의 데이터가 가능하다. 리스트는 변수들의 묶음이다.
1: int로 저장되어 있는 메모리
2: int로 저장되어 있는 메모리
‘string’: str로 저장되어 있는 메모리
[’a’, ‘b’, ‘c’~~]: 리스트로 저장되어 있는 메모리
슬라이싱
리스트 간의 연산: +, *
데이터 추가
list.append: 마지막 index 뒤로 데이터를 추가
list.insert: 특정 index 위치에 데이터 추가
list_a=[1,2,3]
list_a.append(100) # [1, 2, 3, 100]
list_a.insert(0, 729) # [729, 1,2,3, 100]


삭제
remove(val): 처음 만난 지정 데이터를 삭제
pop(index): 해당 위치에 있는 데이터를 삭제
remove는 값이 여러 개인 경우 첫번째 것만 삭제
pop() : 리스트의 맨 마지막 요소를 돌려주고 해당 요소 삭제
정렬
sort(), reverse()
list_b=[1,4,9,2,10]
list_b.sort() # 오름차순 정렬
list_b.reverse() # 단순히 현재 상태에서 반대 인덱스로 나열
list_b.sort().reverse() # 내림차순 정렬 <-- 이건 안됨~!!
list_b.sort(reverse=True) # 내림차순 정렬 <-- 이게 맞음**
요소의 위치 index 값 찾기
list_b.index(2)

값 2의 index가 어디에 있냐?
헷갈리지 말자!! list[2] != list.index[2]
전자는 인덱스로 값 찾기고, 후자는 값으로 인덱스 찾기이다!
확장
list_a.extend(list_b)
list_a.extend(list_b) ⇒ list_a (list_a에 list_b를 추가하는 것. list_a의 값이 바뀌는 것!)
이거랑은 다름! --> list_a+list_b ⇒ new list!
튜플
리스트는 요소 값 변경이 가능. 튜플은 요소 값 변경이 불가능하다. (데이터를 안전하게 유지하기 위한 목적!)
- 튜플은 1개의 요소만을 가질 때는 요소 뒤에 쉼표(,)를 반드시 붙여야 함
- t2=(1,)
- 소괄호를 생략해도 무방함
- t4=1,2,3
중요!! unpacking
a,b,c,d=(1,2,3,4) # 튜플에 있는 값 하나하나를 각각의 변수에 할당
print(a) # 1
리스트도 가능하다!
unpacking은 swap에서 잘 활용된다.
a,b = 1,2
a,b=b,a
print(a,b) # 2 1
튜플은 할당은 안 되지만 슬라이싱은 된다.
print(t_b[0])
print(t_b[1:4])
딕셔너리
key-value
최신 파이썬에서는 딕셔너리가 순서를 가질 수 있음. 근데 옛날 파이썬에서는 딕셔너리는 순서를 가지지 못했다.
딕셔너리 값 추가
그냥 dict['key']=value 해주면 됨
참조
dict_2[2]
dict_2.get(3)

데이터의 구조화에 딕셔너리 많이 쓴다.
student_1 = {
'sno': 21011892,
'sname': 'hayeon',
'major': 'computer engineering',
'grade': 4
}
dict.keys() ⇒ dict_keys 라는 타입으로 반환됨.
dict.values()
dict.items() ⇒ dict_items 타입으로 반환. 그런데 이제 튜플로 반환됨
dict를 list로 바꾸려면 그냥 list(dict.items()) 이렇게 해주면 된다.

그냥 dict_2(’pos’)만 하면 에러가 난다. (post 라는 키 값이 없을 때)
이때 dict_2.get(’pos’)를 하면 에러가 나질 않는다. 하지만 없는 값이기 때문에 아무것도 출력되지 않는다. 이때 우리는 값이 없어서 출력되지 않는 것인지 뭐니 모르기 때문에 **default** 값을 지정해주어서 그걸 알도록 할 수 있다.


집합
중복x
순서가 없음 ⇒ 인덱싱 사용 불가

교집합, 합집합, 차집합

데이터 추가: add
set_1.add(200) # 당연히 set이니까 중복 추가는 안됨!
데이터 리스트 추가: update
set_1.update([1,2,3,4,5])
특정 값 제거하기: remove
set_1.remove(200) # 200이라는 값이 없으면 에러 발생!
'보안 > SK 쉴더스 루키즈' 카테고리의 다른 글
| [SK 쉴더스 루키즈] 파이썬 데이터 통계1 (크롤링, RDBMS) (0) | 2026.03.14 |
|---|---|
| [SK 쉴더스 루키즈] 파이썬 기초 4(함수, lambda, 파일입출력, 클래스) (0) | 2026.03.06 |
| [SK 쉴더스 루키즈] 파이썬 기초 3(조건문, 반복문) (0) | 2026.03.05 |
| [SK 쉴더스 루키즈] 파이썬 기초 1(변수, 객체, 메서드) (1) | 2026.03.03 |
| [SK 쉴더스 루키즈] 31기 지원&OT 후기 (0) | 2026.02.24 |
