numbers = [10, 20, 30, 40, 50]
print(len(numbers))
>>>
5
studentCnts = [[1, 19], [2, 20], [3, 17], [4, 21]]
for classNo, cnt in studentCnts:
print(f'{classNo}반 학생 수: {cnt}명')
>>>
1반 학생 수: 19명
2반 학생 수: 20명
(...)
numbers = [10, 20, 30, 40, 50]
for idx, value in enumerate(numbers):
print(f'{idx}번: {value}')
>>>
0번: 10
1번: 20
(...)
문자열에도 적용할 수 있다.
str = 'HELLO'
for idx, value in enumerate(str):
print(f'{idx}번: {value}')
>>>
0번: H
1번: E
(...)
numbers = [10, 20, 30, 40, 50]
numbers.append(60)
print(numbers)
>>>
[10, 20, 30, 40, 50, 60]
numbers = [10, 20, 30, 40, 50]
numbers.insert(2, 'insert')
print(numbers)
>>>
[10, 20, 'insert', 30, 40, 50]
아이템을 삭제하면서 해당 아이템을 반환한다.
numbers = [10, 20, 30, 40, 50, 60, 70]
# pop() - 맨 마지막 아이템 삭제
popNum = numbers.pop()
print(popNum) # 70
print(numbers) # [10, 20, 30, 40, 50, 60]
# pop(n) - n 인덱스의 아이템 삭제
popNum2 = numbers.pop(2)
print(popNum2) # 30
print(numbers) # [10, 20, 40, 50, 60]
numbers = [10, 20, 30, 40, 50, 60, 70]
del numbers[2]
print(numbers) # [10, 20, 40, 50, 60, 70]
del numbers[1:3]
print(numbers) # [10, 50, 60, 70]
remove()는 최초로 발견한 하나의 아이템만 삭제한다.
numbers = [10, 777❌, 20, 777⭕, 30, 777⭕, 40]
numbers.remove(777)
print(numbers)
>>>
[10, 20, 777, 30, 777, 40]
리스트 내에 특정 아이템이 여러 개 있다면 while문을 이용하면 된다.
# while문
numbers = [10, 777❌, 20, 777❌, 30, 777❌, 40]
removeNum = 777
n = 0
while n < len(numbers):
if removeNum == numbers[n]:
numbers.remove(removeNum)
continue
n += 1
print(numbers)
>>>
[10, 20, 30, 40]
in 연산자를 사용하면 더 편리하다.
# while + in 연산자
numbers = [10, 777❌, 20, 777❌, 30, 777❌, 40]
removeNum = 777
while removeNum in numbers:
numbers.remove(removeNum)
print(numbers)
>>>
[10, 20, 30, 40]
# 1번에 2번이 더해짐
numbers1 = [10, 20, 30, 40]
numbers2 = [50, 60, 70, 80]
numbers1.extend(numbers2)
print(numbers1)
print(numbers2)
>>>
[10, 20, 30, 40, 50, 60, 70, 80]
[50, 60, 70, 80]
# 1번과 2번이 연결된 새로운 리스트
numbers1 = [10, 20, 30, 40]
numbers2 = [50, 60, 70, 80]
addNumbers = numbers1 + numbers2
print(addNumbers)
>>>
[10, 20, 30, 40, 50, 60, 70, 80]
numbers = [40, 20, 50, 10, 30]
# 오름차순
numbers.sort() # numbers.sort(reverse=False)
print(numbers)
# 내림차순
numbers.sort(reverse=True)
print(numbers)
>>>
[10, 20, 30, 40, 50]
[50, 40, 30, 20, 10]
numbers = [40, 20, 50, 10, 30]
numbers.reverse()
print(numbers)
>>>
[30, 10, 50, 20, 40]
# list[시작:끝:단계]
# 시작은 포함⭕, 끝은 포함❌
numbers = [0, 1, 2, 3, 4, 5, 6]
print(numbers[2:4]) # [2, 3]
print(numbers[:]) # [0, 1, 2, 3, 4, 5, 6]
print(numbers[1:]) # [1, 2, 3, 4, 5, 6]
print(numbers[:1]) # [0]
print(numbers[2:-2]) # [2, 3, 4]
print(numbers[-5:-2]) # [2, 3, 4]
print(numbers[2:6:2]) # [2, 4]
print(numbers[::2]) # [0, 2, 4, 6]
numbers = [10, 20, 30, 40, 50]
numbers[2:4] = [777, 777]
print(numbers)
>>>
[10, 20, 777, 777, 50]
str = '012345678'
print(str[:]) # [012345678]
print(str[2:4]) # [23]
print(str[2:-2]) # [23456]
print(type(str[:])) # <class 'str'>
numbers = [10, 20, 30]
print(numbers * 3)
>>>
[10, 20, 30, 10, 20, 30, 10, 20, 30]
index()는 가장 앞에 있는 아이템 하나만 찾는다.
numbers = [10, 20, 30, 77⭕, 40, 50, 77❌]
print(numbers.index(77))
>>>
3
인덱스 범위를 지정해서 찾을 수도 있다.
# index(item, 시작idx, 끝idx)
numbers = [10, 20, 30, 77❌, 40, 50, 77⭕]
print(numbers.index(77, 4, len(numbers)))
>>>
7
numbers = [10, 77, 20, 77, 30, 77, 40]
print(numbers.count(77))
>>>
3