1. 컬렉션 타입
* 여러개의 데이터 항목을 하나의 단위로 관리 할수 있게 해주는 데이터 구조를 의미합니다.
* 이것은 여러개의 데이터를 하나의 변수에 저장하고, 관리 할수 있게 해줍니다.
* 파이썬에는 리스트, 튜플, 세트, 딕셔너리 등이 기본적인 컬렉션 타입에 속합니다.
2. 리스트
* 여러 값들을 하나의 변수에 저장하고 관리할 수 있게 해주는 순차적인 자료구조 입니다.
#1)
li1 = [1, 3, 5, 7, 9]
print(li1)
print(li1[1])
print(type(li1))
-->
[1, 3, 5, 7, 9]
3
<class 'list'>
#2)
li2 = list ([1, 3, 5, 7, 9])
print(li2)
print(type(li2))
-->
[1, 3, 5, 7, 9]
<class 'list'>
#3)
li3 = [' 김사과 ', ' 반하나 ', ' 오렌지 ', ' 이메론 ']
print(li3)
-->
[' 김사과 ', ' 반하나 ', ' 오렌지 ', ' 이메론 ']
#4)
li4 = [1, 50.5, '김사과', True]
print(li4)
print(type(li4))
print(li4[0])
print(type(li4[0])) # 각 요소 타입은 다르다.
print(li4[0])
print(li4[1])
print(li4[-1])
-->
[1, 50.5, '김사과', True]
<class 'list'>
1
<class 'int'>
1
50.5
True
#5)
li2 = [1, 2, ' 파이썬 ', [' 김사과 ', ' 오렌지 ' ]]
print(li2)
print(type(li2))
print(li2[1])
print(type(li2[1]))
print(li2[3])
print(type(li2[3]))
print(li2[3][1])
print(type(li2[3][1]))
-->
[1, 2, ' 파이썬 ', [' 김사과 ', ' 오렌지 ']]
<class 'list'>
2
<class 'int'>
[' 김사과 ', ' 오렌지 ']
<class 'list'>
오렌지
<class 'str'>
#6)
li3 = [1, 2, 3, [' 김사과 ', '오렌지', '반하나', ['🍟', '🍔', '👻', '🌭']]]
print(li3[-1][-1][-2])
print(li3)
print(li3[2])
print(li3[-1])
print(li3[-1][-2])
print(li3[-1][-1][-2])
-->
👻
[1, 2, 3, [' 김사과 ', '오렌지', '반하나', ['🍟', '🍔', '👻', '🌭']]]
3
[' 김사과 ', '오렌지', '반하나', ['🍟', '🍔', '👻', '🌭']]
반하나
👻
#7)
li1 = [1, 3, 5, 7, 9]
print(li1)
print(li1[0:3])
-->
[1, 3, 5, 7, 9]
[1, 3, 5]
#8)
li2 = li1
print(li2)
-->
[1, 3, 5, 7, 9]
#9)
li2[0] = 100
print(li2)
print(li1)
-->
[100, 3, 5, 7, 9]
[100, 3, 5, 7, 9]
#10)
li3 = [1, 2, 3, [ '김사과 ' , ' 오렌지 ' , ' 반하나 ' , ['🍟', '🍔', '👻','🌭']]]
print(li3[2:3])
print(li3[3][:2])
-->
[3]
['김사과 ', ' 오렌지 ']
#11)
li4 = [10, 20, 30, 40, 50]
#슬라이싱을 이용하여 요소를 추가한 경우 리스트에 데이터만 포함
li4[1:2] = ['🍟', '🍔', '👻','🌭']
print(li4)
-->
[10, '🍟', '🍔', '👻', '🌭', 30, 40, 50]
#12)
li4 = [10, 20, 30, 40, 50]
li4[1] = ['🍟', '🍔', '👻','🌭']
#인덱싱을 이용하여 요소를 추가한 경우 리스트 안에 리스트를 만들고 포함
print(li4)
-->
[10, ['🍟', '🍔', '👻', '🌭'], 30, 40, 50]
#13)
li4 = [10, 20, 30, 40, 50]
print(li4[1:3])
-->
[20, 30]
#14)
li4[1:3] = []
print(li4) #빈 리스트를 슬라이싱을 통해 저장하면 해당요소가 삭제됨
-->
[10, 40, 50]
#15)
li4 = [10, 20, 30, 40, 50]
print(li4)
-->
[10, 20, 30, 40, 50]
#16)
del li4[1]
print(li4)
-->
[10, 30, 40, 50]
#17)
li5 = [10, 20, 30]
li6 = [40, 50, 60]
print(li5 + li6)
print(li6 + li5)
-->
[10, 20, 30, 40, 50, 60]
[40, 50, 60, 10, 20, 30]
#18)
li5 = [10, 20, 30]
li5 = li5 + [40, 50, 60]
print(li5)
-->
[10, 20, 30, 40, 50, 60]
#19)
li6 = [10, 20, 30]
li6 += [40, 50, 60] #li6 = li6 + [40, 50, 60]
print(li6)
-->
[10, 20, 30, 40, 50, 60]
#20)
li6 = [10, 20, 30]
print(li6 * 3)
-->
[10, 20, 30, 10, 20, 30, 10, 20, 30]
3. 리스트의 메서드
#len() : 객체의 길이를 변화
1. 컬렉션 타입
* 여러개의 데이터 항목을 하나의 단위로 관리 할수 있게 해주는 데이터 구조를 의미합니다.
* 이것은 여러개의 데이터를 하나의 변수에 저장하고, 관리 할 수 있게 해줍니다.
* 파이썬에는 리스트, 튜플, 세트, 딕셔너리 등이 기본적인 컬렉션 타입에 속합니다.
2. 리스트
여러 값들을 하나의 변수에 저장하고 관리할 수 있게 해주는 순차적인 자료구조 입니다.
1)
li1 = [1, 3, 5, 7, 9]
print(li1)
print(li1[1])
print(type(li1))
-->
[1, 3, 5, 7, 9]
3
<class 'list'>
2)
li2 = list ([1, 3, 5, 7, 9])
print(li2)
print(type(li2))
-->
[1, 3, 5, 7, 9]
<class 'list'>
3)
li3 = [' 김사과 ', ' 반하나 ', ' 오렌지 ', ' 이메론 ']
print(li3)
-->
[' 김사과 ', ' 반하나 ', ' 오렌지 ', ' 이메론 ']
4)
li4 = [1, 50.5, '김사과', True]
print(li4)
print(type(li4))
print(type(li4[0])) # 각 요소 타입은 다르다.
print(li4[0])
print(li4[1])
print(li4[-1])
-->
[1, 50.5, '김사과', True]
<class 'list'>
<class 'int'>
1
50.5
True
5)
li2 = [1, 2, ' 파이썬 ', [' 김사과 ', ' 오렌지 ' ]]
print(li2)
print(type(li2))
print(li2[1])
print(type(li2[1]))
print(li2[3])
print(type(li2[3]))
print(li2[3][1])
print(type(li2[3][1]))
-->
[1, 2, ' 파이썬 ', [' 김사과 ', ' 오렌지 ']]
<class 'list'>
2
<class 'int'>
[' 김사과 ', ' 오렌지 ']
<class 'list'>
오렌지
<class 'str'>
6)
li3 = [1, 2, 3, [' 김사과 ', '오렌지', '반하나', ['🍟', '🍔', '👻', '🌭']]]
print(li3)
print(li3[2])
print(li3[-1])
print(li3[-1][-2])
print(li3[-1][-1][-2])
-->
[1, 2, 3, [' 김사과 ', '오렌지', '반하나', ['🍟', '🍔', '👻', '🌭']]]
3
[' 김사과 ', '오렌지', '반하나', ['🍟', '🍔', '👻', '🌭']]
반하나
👻
7)
li1 = [1, 3, 5, 7, 9]
print(li1)
print(li1[0:3])
-->
[1, 3, 5, 7, 9]
[1, 3, 5]
8)
li2 = li1
print(li2)
-->
[1, 3, 5, 7, 9]
9)
li2[0] = 100
print(li2)
print(li1)
-->
[100, 3, 5, 7, 9]
[100, 3, 5, 7, 9]
10)
li3 = [1, 2, 3, [ '김사과 ' , ' 오렌지 ' , ' 반하나 ' , ['🍟', '🍔', '👻','🌭']]]
print(li3[2:3])
print(li3[3][:2])
-->
[3]
['김사과 ', ' 오렌지 ']
11)
li4 = [10, 20, 30, 40, 50]
#슬라이싱을 이용하여 요소를 추가한 경우 리스트에 데이터만 포함
li4[1:2] = ['🍟', '🍔', '👻','🌭']
print(li4)
-->
[10, '🍟', '🍔', '👻', '🌭', 30, 40, 50]
12)
#인덱싱을 이용하여 요소를 추가한 경우 리스트 안에 리스트를 만들고 포함
li4 = [10, 20, 30, 40, 50]
li4[1] = ['🍟', '🍔', '👻','🌭']
print(li4)
-->
[10, ['🍟', '🍔', '👻', '🌭'], 30, 40, 50]
13)
li4 = [10, 20, 30, 40, 50]
print(li4[1:3])
-->
[20, 30]
14)
li4[1:3] = []
print(li4) #빈 리스트를 슬라이싱을 통해 저장하면 해당요소가 삭제됨
-->
[10, 40, 50]
15)
li4 = [10, 20, 30, 40, 50]
print(li4[1:2])
print(li4[1])
li4[1] = [ ]
print(li4)
-->
[20]
20
[10, [], 30, 40, 50]
16)
li4 = [10, 20, 30, 40, 50]
print(li4)
del li4[1]
print(li4)
-->
[10, 20, 30, 40, 50]
[10, 30, 40, 50]
17)
li5 = [10, 20, 30]
li6 = [40, 50, 60]
print(li5 + li6)
print(li6 + li5)
-->
[10, 20, 30, 40, 50, 60]
[40, 50, 60, 10, 20, 30]
18)
li5 = [10, 20, 30]
li6 = li5 + [40, 50, 60]
print(li6)
-->
[10, 20, 30, 40, 50, 60]
19)
li6 = [10, 20, 30]
li6 += [40, 50, 60] #li6 = li6 + [40, 50, 60]
[10, 20, 30, 40, 50, 60]
20)
li6 = [10, 20, 30]
print(li6 * 3)
-->
[10, 20, 30, 10, 20, 30, 10, 20, 30]
3. 리스트의 메서드
#len() : 객체의 길이를 봔환하는 파이썬의 기본 내장 함수
1)
li6 = [10, 20, 30]
print(len(li6))
-->
3
2)
#append() : 리스트 요소의 끝에 새로운 요소를 추가
li6 = [10, 20, 30]
li6.append(100)
print(li6)
li6.append([200, 300])
print(li6)
-->
[10, 20, 30, 100]
[10, 20, 30, 100, [200, 300]]
3)
#extend() : 리스트 요소의 끝에 새로운 여러 요소를 추가
li6.extend([100,200,300])
print(li6)
-->
[10, 20, 30, 100, [200, 300], 100, 200, 300]
4)
#pop() : 리스트 마지막 요소를 삭제하고 삭제된 요소를 반환
li6 = [10, 20, 30]
temp = li6.pop()
print(li6)
print(temp)
-->
[10, 20]
30
5)
#index() : 리스트에서 특정 요소의 값 인덱스를 반환
li6 = [10, 20, 30]
print(li6.index(30))
-->
2
6)
#reverse() : 리스트의 요소들의 순서를 반대로 설정
li7 = [100, 50, 70, 60, 20]
li7.reverse()
print(li7)
-->
[20, 60, 70, 50, 100]
7)
#슬라이싱을 사용하여 리스트의 요소들의 순서를 반대로 설정하는 방법
li7 = [100, 50, 70, 60, 20]
print(li7[:]) #[0~5]
print(li7[0:5]) #step의 생략
print(li7[0:5:1]) #step의 기본값
print(li7[0:5:2]) #step을 2로 설정
-->
[100, 50, 70, 60, 20]
[100, 50, 70, 60, 20]
[100, 50, 70, 60, 20]
[100, 70, 20]
8)
li7 = [100, 50, 70, 60, 20]
print(li7[::-1])
#step이 -1일 경우 start의 기본값은 -1, stop의 기본값은 0으로 설정
print(li7[1::-1])
--> [50, 100]
print(li7[:0:-1])
--> [20, 60, 70, 50]
8)
#sort() :리스트의 요소를 오름차순으로 정렬
#sort() :리스트의 요소를 오름차순으로 정렬
li7 = [100, 50, 70, 60, 20]
li7.sort()
print(li7)
-->
[20, 50, 60, 70, 100]
9)
#sorted(reverse=True) : 리스트의 요소를 내림차순으로 정렬
li7.sort(reverse=True)
print(li7)
-->
[100, 70, 60, 50, 20]
10)
li8 = ['Apple', 'apple', 'orange', 'banana', 'melon']
li8.sort()
print(li8)
-->
['Apple', 'apple', 'banana', 'melon', 'orange']
11)
li9 = ['김사과', '오렌지', '반하나', '이메론', '배애리']
li9.sort()
print(li9)
12)
#sorted() : 모든 요소를 정렬한 후 반환해 주는 함수
li7 = [100, 50, 70, 60, 20]
result = sorted(li7)
print(li7)
print(result)
-->
[100, 50, 70, 60, 20]
[20, 50, 60, 70, 100]
13)
li9 = [10, 20, 30, 50, 20, 40, 30, 20]
#count() : 리스트에서 특정 요소의 갯수를 반환
print(li9.count(20))
print(li9.count(100))
-->
3
0
728x90
LIST
'파이썬(python)' 카테고리의 다른 글
7. 컬렉션 타입 세트 (2) | 2024.09.25 |
---|---|
6. 컬렉션 타입-튜플 (0) | 2024.09.25 |
4. 문자열 다루기 (2) | 2024.09.24 |
3. 파이썬의 변수 (0) | 2024.09.24 |
2. Python의 Print 함수 (0) | 2024.09.22 |