파이썬 Python/파이썬

[4일차 / 파이썬] 리스트 - 삭제, 정렬, count

하나비 HANABI 2022. 12. 29. 13:30

월을 입력하면 해당 달력을 출력하는 코드

# 2023년도 달력을 만들어서 월을 입력하면 해당 월을 출력하는 코드
month = int(input('월을 입력하세요 : '))
tList = [0,3,3,6,1,4,6,2,5,0,3,5]
lastDayList = [31,28,31,30,31,30,31,31,30,31,30,31]

for idx in range(0, month):
    t = tList[idx]
    lastDay = lastDayList[idx]

print('2023년 {}월'.format(month))
print('일\t월\t화\t수\t목\t금\t토')
print('-'*50)
print('\t'*t, end='')
for day in range(1,lastDay+1):
    print(day, end='\t')
    if((day+t)%7 == 0):
        print()
# 윤년 - 년도가 400으로 나누어 떨어지거나, 4로 나누어 떨어지고 100으로 나누어떨어지지 않음
if month == 2:
    if year%400==0 or (year%4==0 and year%100!=0):
        lastDayList[1] = lastDayList[1]+1

 

pop : 인덱스를 통해 요소값을 꺼내며 삭제

remove : 직접적으로 요소값을 입력하여 삭제

del : del 명령어를 통해 인덱스값을 입력하여 삭제

numbers = list(range(1,10))
print(numbers)
numbers.remove(3) # 해당 요소를 삭제
print(numbers)
numbers.pop(2) # 해당 인덱스의 요소를 꺼내며 삭제
print(numbers)
numbers.clear() # 모든 요소 삭제
print(numbers)

numbers = [1,2,3]
del numbers[0] # 파이썬식 삭제 명령어
print(numbers)

정렬

numbers1 = [3.2, -1.3, 5]
numbers1.sort()
print(numbers1)
numbers1.sort(reverse=True)
print(numbers1)

# sorted() : 변경된(정렬된) 값으로 리스트를 새로 만들어 리턴
numbers2 = [3, 2, 8.4, 0.9]
sorted(numbers2)

리스트에 count 접목 -  각 등급의 개수 세기

score = [64, 89, 100, 85, 77, 58, 79, 67 , 96, 87, 87, 36, 82, 98, 94, 76, 63, 69, 53, 22]
grades = [0,0,0,0,0]

for s in score:
    if s >= 90:
        grades[0] += 1
    elif 90 > s >=80:
        grades[1] += 1
    elif 80 > s >=70:
        grades[2] += 1
    elif 70 > s >=60:
        grades[3] += 1
    else:
        grades[4] += 1

print('A : {}명 \n B : {}명 \n C : {}명 \n D : {}명 \n F : {}명'
      .format(grades[0],grades[1],grades[2],grades[3],grades[4],))