📝 리스트(List)
🖥️ 1. 리스트(List)란?
- 여러가지 데이터를
,(콤마)로 구분하여 []로 감싼 자료구조
li1 = [1,3,5,7]
print(li1)
li2 = list([1,3,5,7])
print(li2)
li3 = ['가가가', '나나나', '다다다', '라라라']
print(li3)
li4 = [1, 1.5, '가가가', True]
print(li4)
li5 = [1, 2, '파이썬', ['가가가', '나나나']]
print(li5)
[결과]
[1, 3, 5, 7]
[1, 3, 5, 7]
['가가가', '나나나', '다다다', '라라라']
[1, 1.5, '가가가', True]
[1, 2, '파이썬', ['가가가', '나나나']]
🖥️ 2. 리스트 인덱싱
li1 = [1,3,5,7]
print(li1[0])
print(li1[1])
print(li1[-1])
print(li1[0] + li1[-1])
[결과]
1
3
7
8
li2 = ['가가가', '나나나', '다다다', ['자바', '파이썬', '디비']]
print(li2[0])
print(li2[-1])
print(li2[-1][1])
[결과]
가가가
['자바', '파이썬', '디비']
파이썬
li3 = [1,3,5,['가가가', '나나나', '다다다', ['자바', '파이썬', '디비']]]
print(li3[2])
print(li3[-2])
print(li3[-1][-2])
print(li3[-1][-1][-1])
[결과]
5
5
다다다
디비
🖥️ 3. 리스트 슬라이싱
li4 = [10,20,30,40,50]
print(li4)
print(type(li4))
print(li4[0:3])
li5 = li4
print(li5)
li5[0] = 100
print(li5)
print(li4)
[결과]
[10, 20, 30, 40, 50]
<class 'list'>
[10, 20, 30]
[10, 20, 30, 40, 50]
[100, 20, 30, 40, 50]
[100, 20, 30, 40, 50]
li6 = [10, 20, 30, ['가가가','나나나','다다다'], 40, ['자바','파이썬']]
print(li6[:2])
print(li6[2:])
print(li6[5][:1])
[결과]
[10, 20]
[30, ['가가가', '나나나', '다다다'], 40, ['자바', '파이썬']]
['자바']
🖥️ 4. 리스트 연산자
li7 = [10, 20, 30]
li8 = [40, 50, 60]
print(li7 + li8)
print(li8 + li7)
print(li7 - li8)
print(li7 * li8)
print(li7 *3)
print(['파이썬'] * 10)
li9 = [10, 20, 30]
li9[1] = '파이썬'
print(li9)
print(li9[0] + li9[2])
print(li9[0] + li9[1])
[결과]
[10, 20, 30, 40, 50, 60]
[40, 50, 60, 10, 20, 30]
[10, 20, 30, 10, 20, 30, 10, 20, 30]
['파이썬', '파이썬', '파이썬', '파이썬', '파이썬', '파이썬', '파이썬', '파이썬', '파이썬', '파이썬']
[10, '파이썬', 30]
40
🖥️ 5. 리스트의 수정/삭제
- 슬라이싱을 이용하여 데이터를 변경한 경우 리스트에 데이터가 포함
- 인덱싱을 이용하여 데이터를 변경한 경우 리스트 안에 리스트가 포함
li10 = [10, 20, 30]
li10[1] = 100
print(li10)
li10[1:2] = ['자바', '파이썬', '디비']
print(li10)
li10 = [10, 20, 30]
li10[1] = ['자바', '파이썬', '디비']
print(li10)
li10[1:3] = []
print(li10)
del li10[0]
print(li10)
[결과]
[10, 100, 30]
[10, '자바', '파이썬', '디비', 30]
[10, ['자바', '파이썬', '디비'], 30]
[10]
[]
🖥️ 6. 리스트 함수
- append() : 리스트 마지막 자리에 데이터를 추가
li11 = [10, 20, 30]
li11.append(100)
print(li11)
li11.append([40, 50])
print(li11)
[결과]
[10, 20, 30, 100]
[10, 20, 30, 100, [40, 50]]
- pop() : 리스트 마지막에 저장된 데이터를 반환하고 해당 데이터는 삭제
li12 = [10, 20, 30, 40, 50]
print(li12)
temp = li12.pop()
print(li12)
print(temp)
li12.pop()
print(li12)
[결과]
[10, 20, 30, 40, 50]
[10, 20, 30, 40]
50
[10, 20, 30]
- remove() : 매개변수로 전달된 데이터를 제거
- 같은 데이터가 여러 개 있는 경우 처음 출현하는 데이터를 제거
li13 = [10, 20, 30, 10, 20, 80]
li13.remove(20)
print(li13)
li13.remove(20)
print(li13)
[결과]
[10, 30, 10, 20, 80]
[10, 30, 10, 80]
- insert() : 리스트의 특정 위치에 데이터를 삽입
li14 = [10, 20, 30]
li14.insert(1, 100)
print(li14)
[결과]
[10, 100, 20, 30]
- index() : 리스트에 저장된 데이터가 있을 경우 위치를 인덱스로 반환 (없으면 에러)
li15 = [10, 20, 30, 40, 50]
print(li15.index(30))
[결과]
2
- reverse() : 리스트에 저장된 데이터를 반대의 순서로 반환
li16 = ['가가가', '나나나', '다다다', '라라라']
li16.reverse()
print(li16)
[결과]
['라라라', '다다다', '나나나', '가가가']
- sort() : 리스트에 저장된 데이터를 정렬
li17 = [10, 40, 30, 100, 90, 50]
li17.sort()
print(li17)
li17.sort(reverse=True)
print(li17)
li18 = ['Apple', 'apple', 'orange', 'banana', 'melon']
li18.sort()
print(li18)
[결과]
[10, 30, 40, 50, 90, 100]
[100, 90, 50, 40, 30, 10]
['Apple', 'apple', 'banana', 'melon', 'orange']
- count() : 리스트에 포함된 특정 데이터의 개수를 반환
li19 = [10, 20, 30, 50, 20, 40, 30, 20]
print(li19.count(20))
print(li19.count(15))
[결과]
3
0
li20 = [1, 2, 3]
li20.extend([40, 50])
print(li20)
li21 = [1, 2, 3]
li21 = li21 + [40, 50]
print(li21)
[결과]
[1, 2, 3, 40, 50]
[1, 2, 3, 40, 50]