● 인덱싱

=> 파이썬에서 인덱스는 '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

+ Recent posts