Python
[07.15] 파이썬 3일차 - 리스트 1
ljw4104
2021. 7. 15. 01:03
1. 선언
fruits = ['사과', '오렌지', '딸기', '포도', '키위', '수박']
list1 = [5, 10.2, '탁구', True, [4, 5, 6]]
numbers = list(range(1, 10, 2))
- 리스트명 = [데이터, 데이터, 데이터,...] 와 같이 기본적으로 선언이 가능하다.
- 리스트의 데이터는 모두 같은 자료형이 들어갈 필요가 없다...
- list()함수는 list를 만드는 함수이다. 리스트를 만들면서 범위를 지정해서 자동으로 숫자가 들어가도록 했다.
2. 요소 추가
여러가지 함수들이 존재한다.
- append(data) : 리스트의 끝에 특정 요소를 추가한다.
- insert(index, data) : 리스트의 특정 인덱스에 요소를 추가한다.
- list.extend(_list) : list와 _list를 연결하여 확장한다.
- a + b : 리스트 a와 b를 병합한다.
append.py
a = ['red', 'green', 'blue']
print('before append ==> ', a)
a.append('yellow')
print('after append ==> ', a)
insert.py
a = ['red', 'green', 'blue']
print('before insert(1, black) ==> ', a)
a.insert(1, 'black')
print('after insert(1, black) ==> ', a)
extend.py
a = ['red', 'green', 'blue']
b = ['purple', 'white']
print('before extend ==> ', a)
a.extend(b)
print('after extend ==> ', a)
2. 요소 삭제
- list.pop(index) : 해당 인덱스의 요소를 삭제한다. del list[index]와 같은 동작을 한다.
- list.remove(data) : 해당 데이터의 요소를 삭제한다.
- list.clear() : 리스트를 초기화한다.
pop.py
a = list(range(10, 101, 10)) # [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
index = a.index(30)
print('before a[%d] delete ==> ' % index, a)
a.pop(index)
print('after a[%d] delete ==> ' % index, a)
removeNclear.py
a = list(range(10, 101, 10)) # [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
print('before 80 delete ==> ', a)
a.remove(80)
print('after 80 delete ==> ', a)
a.clear()
print('after list a clean() ==> ', a)
3. 요소 카운트
리스트에서 특정 값을 가지는 요소가 몇 개인지를 셀 수 있다.
tmp = ['aa', 'bb', 'cc', 'aa', 'b', 'ccc']
length = tmp.count('aa')
print('\'aa\' number into tmp list ==> %d' % length)
4. 리스트 정렬
sort() : 오름차순, sort(reverse=True) : 내림차순 . 간단하다.
a = [8, 1, 7, 51, 31, 87, 19, 44, 32, 50]
print('before list a sort() ==> ', a)
a.sort()
print('after list a sort() ==> ', a)
a.sort(reverse=True)
print('after list a sort(Reverse) ==> ', a)
문자열로 이루어진 list를 sort하면?
a = ['kim', 'han', 'lee', 'james', 'vivace', 'moderato']
a.sort()
print(a)
문자열 + 숫자 등 여러가지가 섞여있을 때는?
a = ['eng', 132, 'kor', '안녕', 'hello', '!@#$', -1200.123]
a.sort()
print(a)
아스키 코드값으로 비교할 줄 알았는데 애초에 되지를 않는다.