- 리스트에 아이템 추가
리스트에 아이템을 추가하자!
append() 함수를 이용하면 마지막 인덱스에 아이템을 추가할 수 있다.
'홍길동' '박찬호' '이용규' '박승철' '김지은' '강호동'
마지막 인덱스에 아이템 추가 ← append() ← '강호동'
'''
- append() 함수를 이용하면 마지막 인덱스에 아이템을 추가할 수 있다.
students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']
print('students : {}'.format(students))
print('students의 길이 : {}'.format(len(students)))
print('students의 마지막 인덱스 : {}'.format(len(students) - 1)) # 인덱스는 0부터 시작하므로
students.append('강호동')
print('students : {}'.format(students))
print('students의 길이 : {}'.format(len(students)))
print('students의 마지막 인덱스 : {}'.format(len(students) - 1))
- append() 함수를 이용하면 마지막 인덱스에 아이템을 추가할 수 있다.
scores = [['국어', 88],
['영어', 91],]
print('scores : {}'.format(scores))
print('scores length : {}'.format(len(scores)))
print('last index : {}'.format(len(scores) -1))
scores.append(['수학', 96])
print('scores : {}'.format(scores))
print('scores length : {}'.format(len(scores)))
print('last index : {}'.format(len(scores) -1))
for subject, score in scores:
print('과목 : {}, 점수 : {}'.format(subject, score))
- 실습
가족 구성원의 나이가 아래와 같을 때 새로 태어난 동생을 리스트에 추가해보자.
아빠 엄마 나
40 38 9
myFamilyAge = [['아빠', 40],
['엄마', 38],
['나', 9]]
print(myFamilyAge)
myFamilyAge.append(['동생', 1])
print(myFamilyAge)
for name, age in myFamilyAge:
print('{} : {}'.format(name, age))
- 특정 위치에 아이템 추가 하기
insert() 함수를 이용하면 특정 위치(인덱스)에 아이템을 추가할 수 있다.
'홍길동' '박찬호' '이용규' '강호동' '박승철' '김지은'
↑
insert() 인덱스 3에 아이템 추가!
append는 리스트의 맨 뒤로
insert는 특정 위치에!
students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']
print('students : {}'.format(students))
print('students의 길이 : {}'.format(len(students)))
print('students의 마지막 인덱스 : {}'.format(len(students) - 1)) # 인덱스는 0부터 시작하므로
students.insert(3, '강호동') # 리스트의 3번째 자리에 '강호동'을 추가!
print('students : {}'.format(students))
print('students의 길이 : {}'.format(len(students)))
print('students의 마지막 인덱스 : {}'.format(len(students) - 1)) # 인덱스는 0부터 시작하므로
- insert() 함수를 이용해서 특정 위치에 아이템을 추가할 수 있다!
words = ['I', 'a', 'boy.']
for word in words:
print(word, end = '')
words.insert(1, 'am')
for word in words:
print('{} '.format(word), end = '')
- 실습
오름차순으로 정렬되어 있는 숫자들에 사용자가 입력한 정수를 추가하는 프로그램을 만들어보자.
(단, 추가 후에도 오름차순 정렬이 유지되어야 한다.)
numbers = [1, 3, 6, 11, 45, 54, 62, 74, 85]
inputNumber = int(input('숫자 입력 : '))
insertIdx = 0
for idx, number in enumerate(numbers):
print(idx, number)
if insertIdx == 0 and inputNumber < number: # insertIdx == 0 이여야 최초 한번만 실행 된다!
insertIdx = idx
numbers.insert(insertIdx, inputNumber)
print('numbers : {}'.format(numbers))
- 마지막 인덱스 아이템 삭제
pop() 함수를 이용하면 마지막 인덱스에 해당하는 아이템을 삭제할 수 있다.
'홍길동' '박찬호' '이용규' '박승철' '김지은' '강호동'
↓
마지막 인덱스 아이템 삭제 ← pop()
↓
'강호동'
- pop(n) 함수를 n 인덱스에 해당하는 아이템을 삭제할 수 있다.
'홍길동' '박찬호' '이용규' '강호동''박승철' '김지은'
↓
3 인덱스 아이템 삭제 ← pop(3)
↓
'강호동'
pop() 연습
# pop() 연습
students = ['홍길동', '박찬호', '이용규', '박승철', '김지은', '강호동']
print('students : {}'.format(students))
print('students의 길이 : {}'.format(len(students)))
students.pop()
print('students : {}'.format(students))
print('students의 길이 : {}'.format(len(students))) # 마지막 데이터인 '강호동' 삭제
pop(n) 연습
# pop(n) 연습
students = ['홍길동', '박찬호', '이용규', '박승철', '김지은', '강호동']
print('students : {}'.format(students))
print('students의 길이 : {}'.format(len(students)))
students.pop(3)
print('students : {}'.format(students))
print('students의 길이 : {}'.format(len(students))) # 3번째 인덱스인 '박승철'을 삭제!
pop()로 지운 데이터를 변수에 넣어 활용!
# pop()로 지운 데이터를 변수에 넣어 활용!
students = ['홍길동', '박찬호', '이용규', '박승철', '김지은', '강호동']
print('students : {}'.format(students))
print('students의 길이 : {}'.format(len(students)))
rValue = students.pop()
print('rValue: {}'.format(rValue))
rValue = students.pop(3)
print('rValue: {}'.format(rValue))
- 실습
다음은 어떤 체조 선수의 점수표이다. 점수표에서 최저, 최고 점수를
점수1 9.5
점수2 8.9
점수3 9.2
점수4 9.8
점수5 8.8
점수6 9.0
playerScores = [9.5, 8.9, 9.2, 9.8, 8.8, 9.0]
print('playerScores : {}'.format(playerScores))
minScore = 0
maxScore = 0
minScoreIdx = 0
maxScoreIdx = 0
for idx, score in enumerate(playerScores):
if idx == 0 or minScore > score: # idx 0 일때는 idx는0 minsocre는 리스트 가장 첫값
minScoreIdx = idx
minScore = score # 최저값 구하기
print('minScore : {}, minScoreIdx : {}'.format(minScore, minScoreIdx))
playerScores.pop(minScoreIdx) # 최저, 최고 점수를 삭제 해주는 부분
for idx, score in enumerate(playerScores):
if maxScore < score:
maxScoreIdx = idx
maxScore = score
print('maxScore : {}, maxScoreIdx : {}'.format(maxScore, maxScoreIdx))
playerScores.pop(minScoreIdx) # 최저, 최고 점수를 삭제 해주는 부분
print('playerScores : {}'.format(playerScores))
- 리스트의 특정 아이템 삭제
remove() 함수를 이용하면 특정 아이템을 삭제할 수 있다.
'홍길동' '박찬호' '이용규' '강호동''박승철' '김지은'
↓
특정 아이템 삭제 ← remove()
↓
'강호동'
students = ['홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은']
print(students)
students.remove('박찬호') # 리스트에서 '박찬호'가 삭제 된다!
print(students)
- remove()는 한 개의 아이템만 삭제 가능하다. 만약 삭제하려는 데이터가 2개 이상이라면 while문을 이용하자.
'홍길동' '박찬호' '이용규' '강호동' '박승철' '김지은' '강호동'
앞의 강호동만 삭제됨
students = ['홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은', '강호동']
print(students)
students.remove('강호동') # 앞쪽의 '강호동'만 삭제 된다!
print(students)
# while을 사용해서 '강호동' 모두 지우기!
while '강호동' in students: # students안에 '강호동'이라는 데이터가 있으면 True라는 뜻!
students.remove('강호동') # 모두 지워지면 while문이 False가 되면서 멈춘다!
print(students)
- 실습1
아래의 오늘 일정표에서 사용자가 입력한 일정을 삭제하는 프로그램을 만들어보자.
마케팅 회의
회의록 정리
점심 약속
월간 업무 보고
치과 방문
마트 장보기
myList = ['마케팅 회의', '회의록 정리', '점심 약속', '월간 업무 보고', '치과 방문', '마트 장보기']
print('일정 : {}'.format(myList))
removeItem = input('삭제 대상 입력 : ')
myList.remove(removeItem)
print('일정 : {}'.format(myList))
- 실습2
아래 시험 과목표에서 사용자가 입력한 과목을 삭제하는 프로그램을 만들어보자.
국어 영어 수학 과학 국사
subjects = ['국어', '영어', '수학', '과학', '국사']
print('시험 과목표 : {}'.format(subjects))
removeSubject = input('삭제 과목명 입력 : ')
while removeSubject in subjects:
subjects.remove(removeSubject)
print('시험 과목표 : {}'.format(subjects))
이 글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었습니다.