[python] index() ν•¨μˆ˜

Minhee kangΒ·2021λ…„ 7μ›” 2일
0

Python

λͺ©λ‘ 보기
7/25
# 리슀트.index(x)
# 데이터 x의 μœ„μΉ˜ λ°˜ν™˜
nums_list = [1,2,3,3,3,5,6,8,9]
nums_tuple = (1,2,3,3,3,5,6,8,9)
nums_set = {1,2,3,5,6,8,9}

print(nums_list.index(2))  # 1 
print(nums_list.index(3))  # 2
# -> μ°Ύκ³ μžν•˜λŠ” 데이터가 μ—¬λŸ¬κ°œ μ‘΄μž¬ν•  경우, κ°€μž₯ μž‘μ€ μœ„μΉ˜ κ°’ λ°˜ν™˜ 

print(nums_tuple.index(2)) # 1
print(nums_tuple.index(3)) # 2

#print(nums_set.index(2)) #AttributeError: 'set' object has no attribute 'index'
#setμžλ£Œν˜•μ—” μ‚¬μš© x

#λ¬Έμžμ—΄μ—μ„œ μ‚¬μš©
str = 'kangminheee'
print(str.index('k'))  #0
print(str.index('h'))  #7
print(str.index('i'))  #5
#print(str.index('l')) μ—†λŠ” κ±Έ 찾으면 error
print(str.index('e'))  #8 -> μ—¬λŸ¬κ°œλ©΄ 제일 μ²«λ²ˆμ§Έκ²ƒ λ°˜ν™˜
print(str.find('e'))   #8 -> find()λŠ” index()와 같은 κΈ°λŠ₯을 가진 ν•¨μˆ˜
print(str.rfind('e'))  #10 -> μ—¬λŸ¬κ°œμ€‘ κ°€μž₯ 였λ₯Έμͺ½ 것 λ°˜ν™˜

πŸ“ binary search와 비ꡐ
μž…λ ₯κ°’μ˜ λ²”μœ„κ°€ 크지 μ•Šμ„ κ²½μš°μ—λŠ” 속도차이가 λ³„λ‘œ X. 였히렀 index( )λ©”μ„œλ“œκ°€ 더 빠름
ν•˜μ§€λ§Œ μž…λ ₯κ°’μ˜ λ²”μœ„κ°€ 컀지면 컀질수둝 index() λ©”μ„œλ“œμ˜ μ†λ„λŠ” λŠλ €μ§€μ§€λ§Œ, binary search의 경우 항상 μΌμ •ν•œ 속도λ₯Ό λ³΄μž„

< κ²°λ‘  > μž…λ ₯κ°’μ˜ λ²”μœ„λ₯Ό λͺ¨λ₯Ό κ²½μš°μ—λŠ” binary searchλ₯Ό μ‚¬μš©ν•˜μž!

0개의 λŒ“κΈ€