● 인덱싱
=> 파이썬에서 인덱스는 '0'부터 시작한다.
=> 인덱스를 음수로 지정하면 뒤에서부터 접근한다. (마지막 항목은 인덱스 = -1)
● 리스트 인덱싱
l1 = ['축구','농구','배구','야구','족구','발야구','피구']
print(len(l1))
print(l1[0])
print(l1[-7])
7
축구
축구
● 튜플 인덱싱
t1 = ('축구','농구','배구','야구','족구','발야구','피구')
print(len(t1))
print(t1[0])
7
축구
● 중첩 리스트/튜플 인덱싱
l2 = ['사과','오렌지','포도',['수박','바나나']]
# 리스트 l2에서 '수박' 인덱싱하여 가져오기
print(l2[3][0])
수박
t2 = (1,2,('a','b',),('Life','is'))
# 아래 튜플 t에서 'Life' 인덱싱하여 가져오기
print(t2[3][0])
Life
● 슬라이싱 (복습)
=> 리스트명[시작인덱스:끝인덱스:간격]
=> 튜플명[시작인덱스:끝인덱스:간격]
*단, 끝인덱스의 항목은 포함하지 않는다.
l1 = ['축구','농구','배구','야구','족구','발야구','피구']
print(l1[1:3])
print(l1[0:3])
['농구', '배구']
['축구', '농구', '배구']
print(l1[4:])
print(l1[-3::1])
print(l1[:-4:-1])
['족구', '발야구', '피구']
['족구', '발야구', '피구']
['피구', '발야구', '족구']
print(l1) # 모든 항목
print(l1[::-1]) # 모든항목 역순으로
['축구', '농구', '배구', '야구', '족구', '발야구', '피구']
['피구', '발야구', '족구', '야구', '배구', '농구', '축구']
※ 심화
# 아래 리스트 l3에서 홀수만 슬라이싱하기
l3 = list(range(1,21))
print(l3)
print(l3[::2])
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
● 특정 항목의 인덱스 찾기
=> 리스트명.index(항목)
=> 튜플명.index(항목)
t1 = ('축구','농구','배구','야구','족구','발야구','피구')
t1.index('발야구')
5
if '오토바이' in t1:
print(t1.index('오토바이'))
else:
print('존재하지 않음')
존재하지 않음
● 리스트 변경하기 ( '튜플'은 변경할 수 없다)
◎ 항목 추가
=> 리스트명.append(항목)
=> 리스트.insert(인덱스,항목)
=> 리스트명.extend(리스트)
todolist = ['양치','물마시기']
todolist.append('아침운동') # 리스트 끝에 '아침운동' 항목 추가하기
print(todolist)
['양치', '물마시기', '아침운동']
# 리스트 중간에 항목 삽입하기
todolist.insert(2,'아침식사') # '아침운동'하기 전에 '아침식사'
print(todolist)
['양치', '물마시기', '아침식사', '아침운동']
todolist.extend(['샤워,','드라이','공부']) # 리스트 끝에 여러 항목 추가하기 ['샤워,','드라이','공부']
print(todolist)
['양치', '물마시기', '아침식사', '아침운동', '샤워,', '드라이', '공부']
◎ 항목 수정
=> 리스트명[index] = item
=> 리스트명[시작인덱스:끝인덱스] = [item1,item2, ..., itemN]
# 아침운동 --> 산책으로 수정
todolist[3] = '산책'
print(todolist)
['양치', '물마시기', '아침식사', '산책', '샤워,', '드라이', '공부']
# '아침식사','산책' --> '독서','산책','아침식사'
todolist[2:4] = ['독서','산책','아침식사']
print(todolist)
['양치', '물마시기', '독서', '산책', '아침식사', '샤워,', '드라이', '공부']
◎ 항목 삭제
=> del 리스트명[index] -> 지정한 인덱스의 항목을 삭제한다.
=> 리스트명.remove(항목) -> 항목값을이용하여 삭제, 항목의 인덱스를 알 필요 없다
=> 리스트명.pop() -> 리스트의 마지막 항목을 반환 후 삭제
# 인덱스를 이용하여 항목삭제
del todolist[-1]
print(todolist)
['양치', '물마시기', '독서', '산책', '아침식사', '샤워,', '드라이']
# 항목값을 이용하여 삭제
todolist.remove('양치')
print(todolist)
['물마시기', '독서', '산책', '아침식사', '샤워,', '드라이']
# 마지막 항목을 반환하고 삭제
pop = todolist.pop()
print(todolist)
print(pop)
['물마시기', '독서', '산책', '아침식사', '샤워,']
드라이
※ 연습문제
= 아래 wishlist의 '시계', '신발'을 myCart로 이동해보자.
wishlist = ['가방','시계','신발']
myCart = []
myCart = wishlist[1:3] # wishlist의 시계, 신발을 추출해서 myCart에 담는다.
print(myCart)
['시계', '신발']
del wishlist[1:3]
print(wishlist)
['가방']
print(wishlist, myCart)
['가방'] ['시계', '신발']
'Python 기초 공부' 카테고리의 다른 글
딕셔너리(Dictionary) (0) | 2023.02.20 |
---|---|
리스트의 활용과 연습 (0) | 2023.02.19 |
리스트와 튜플 (2) | 2023.02.18 |
알고리즘 연습 (1) | 2023.02.18 |
if(조건문) / for(반복문) / while(반복문) (0) | 2023.02.18 |