0423 자료구조 1일차(~13)

박영선·2023년 4월 23일
0

enumerate 함수

sports = ['농구','배구','수구','축구']

for idx,value in enumerate(sports):
    print('{}:{}'.format(idx,value))

0:농구
1:배구
2:수구
3:축구
이렇게 반환됨

*enumerate는 문자열에도 가능

str = 'hello python'

for idx,value in enumerate(str):
    print('{}:{}'.format(idx,value))
sports = ['농구','배구','수구','축구','마라톤','테니스']

favoriteSport = input('가장 좋아하는 스포츠 입력: ')

bestSportIdx = 0
for idx,value in enumerate(sports):
    if value == favoriteSport:
        bestSportIdx = idx +1  #리스트에서 순서는 0부터 시작하기때문에 1을 더해줌

print('{}(은)는 {}번째에 있습니다.'.format(favoriteSport,bestSportIdx))

공백갯수 구하기

message = input('메세지 입력: ')
cnt = 0

for idx,value in enumerate(message):
    if value == ' ':
        cnt +=1

print('공백 갯수 : {}'.format(cnt))

리스트에 아이템 추가하기

아이템 추가 : append()함수 사용하기

특정위치에 추가 : insert()함수 사용하기

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 = idx

numbers.insert(insertIdx,inputNumber)
print(numbers)

리스트의 아이템 삭제하기

아이템 삭제 : pop()함수 사용하면 마지막 인덱스 삭제가능
pop(3) 으로 하면 해당 인덱스 삭제가능


이렇게하면 삭제된 아이템이 뭔지 알 수 있음.

최고점,최저점 삭제

playerScores = [9.5, 8.9, 9.2, 9.8, 8.8, 9.0]
print(playerScores)

minScore = 0; maxScore = 0
minScoreIdx = 0; maxScoreIdx = 0

for idx,score in enumerate(playerScores):
    if idx ==0 or minScore > score:  #계속 점수 대입해가면서 최소 점수 뽑아냄
        minScore = score
        minScoreIdx = idx

print('minScore : {}, minScoreIdx : {}'.format(minScore,minScoreIdx))
playerScores.pop(minScoreIdx)  #최저점 삭제

for idx,score in enumerate(playerScores):
    if idx ==0 or maxScore < score:  #계속 점수 대입해가면서 최소 점수 뽑아냄
        maxScore = score
        maxScoreIdx = idx

print('maxScore : {}, maxScoreIdx : {}'.format(maxScore,maxScoreIdx))
playerScores.pop(maxScoreIdx)  #최고점 삭제

print(playerScores)

특정 아이템 삭제 : remove() 함수 사용

remove는 한개의 아이템만 삭제 가능 / 2개 이상 삭제할 시 while 문 사용

profile
데이터분석 공부 시작했습니다

0개의 댓글