list는 변수마다 값을 할당해서 사용하기에 어려움이 있으므로 하나의 변수로 여러개의 데이터를 관리
list는 []로 표현되며, index와 slicing을 사용할 수 있다.
(파이썬에는 list 라고 부르지만 다른 언어로는 배열이라고도 한다.)
찾는값의 인덱스를 리턴한다.
문자열은 find를 사용했으나 list에서는 find를 사용할 수 없다
AttributeError: 'list' object has no attribute 'find'
poke = ['피카츄','라이츄','파이리','꼬부기','야도란']
print(poke.index('라이츄')) #'라이츄'는 몇번째에 위치해있는가?
1
list() 함수를 쓰는 경우 단어 하나하나가 요소로 변환되고, split는 공백을 기준으로 리스트 변환된다.
구분자.join(리스트)
이러면 구분자를 기준으로 합쳐진다.
print(list(str1)) #['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', ' ', 'p', 'y', 't', 'h', 'o', 'n']
print(str1.split()) #['hello', 'world', 'python']
print(''.join(list_str)) #helloworldpython
print(','.join(list_str)) #hello,world,python
list()
리스트로 타입을 변화시킨다.
a = 'apple'
print(list(a))
'a','p','p','l','e'
list의 길이를 구한다.
list2 = ['피카츄','라이츄','파이리','꼬부기']
print(len(list2))
리스트에서 원하는 값이 몇개있는지 센다.
print(list2.count('피카츄'))
1
지우고 싶은 위치를 알 때 : del
지우고 싶은 값을 알 때 : remove
del 사용하기
del 리스트명[인덱스]
a = [1,2,3,4,5,6,7]
del a[2]
print(a) # [1, 2, 4, 5, 6, 7]
del a[2:6]
print(a) # [1, 2]
remove 사용하기
a = [1,2,3,4,5,6,7]
a.remove(1)
print(a) # [2, 3, 4, 5, 6, 7]
del은 예약어, remove는 메소드
poke = ['피카츄','라이츄','파이리','꼬부기','야도란']
a = '야도란'
b = ['피존투','또가스']
c = '파이리'
isert 중간에 추가시킬 수 있다.
poke.insert(3,c) # ['피카츄', '라이츄', '파이리', '파이리', '꼬부기', '야도란']
print(poke)
append 맨 뒤로 값이 추가된다.
poke.append(a) # ['피카츄', '라이츄', '파이리', '파이리', '꼬부기', '야도란', '야도란']
print(poke)
extend, iterable 객체를 list에 추가할 때 사용함. 각 요소를 꺼내어 맨 뒤에 추가함
리스트 안에 리스트를 넣어야 하는데 리스트 타입으로 넣기 싫고 요소 하나씩 넣고 싶을 때
poke.extend(b)
print(poke) # ['피카츄', '라이츄', '파이리', '파이리', '꼬부기', '야도란', '야도란', '피존투
', '또가스']
정렬은 오름차순 정렬이 기본이다. (낮은데서 높은데로 올라가는거, 1부터 101로 프듀 같은)
숫자, 문자 모두 오름차순/내림차순 정렬이 가능하다.
sort(reverse=False) : 정렬(거꾸로=아뇨) 오름차순 정렬이 기본이므로 괄호 안을 생략해도 됨(sort()
num1 = [5,4,6,3,1,2,7]
num1.sort()
print(num1) #[1, 2, 3, 4, 5, 6, 7]
sort(reverse=True) : 정렬(거꾸로=네) 내림차순 정렬
num1.sort(reverse=True)
print(num1) # [7, 6, 5, 4, 3, 2, 1]
reverser() 내림차순 함수
chlist = ['a','b','d','c','e','g','f']
chlist.reverse()
print(chlist) #['f', 'g', 'e', 'c', 'd', 'b', 'a']
pop은 맨뒤의 요소를 가져가면서, 가져간 요소를 return한다. (안받으면 안보이지)
num1 = [5,4,6,3,1,2]
num1.pop() # 2 날라감
last_value = num1.pop() # 1 날라감
print(last_value) # 1
print(num1) #[5, 4, 6, 3] pop이 두번이니까 2개 날라감