본문 바로가기

파이썬 기초 수업정리

수업정리 Day03.

리스트 (list)

변수 = [ 요소,요소,요소, ... ]

빈리스트 : 변수 = [] , 변수 = list()

리스트 안에는 어떠한 자료형도 포함 할 수 있다.

리스트 안에 리스트도 가능하다 ex) 변수 = [1,2,[3,4,5]]

인덱싱 슬라이싱 가능, 자료형이 같으면 연산가능

 

len(list) : list 총길이

리스트 수정하기

ex)

a = []
b = [1,2,3,4,5]
c = ['a','b','c','d']
d = [1,2,'a','b']
e = [1,2,[3,4,5]]

가 있다면,

a1[0] = 7
print(a1)

 

리스트 값 수정하기 

del a1[0]
print(a1)
print()

 

  append()                                sort()                       reverse()                               

- 리스트 요소 추가               - 리스트 정렬           - 리스트 뒤집기                      

- 리스트의 마지막에 추가                                                                                                                                                           

  insert()                                  remove()                      pop()  

- 리스트 요소 삽입              - 리스트 요소 제거       - 리스트 요소 추출                       

- 원하는 위치에 추가          - 리턴값이 없음            - 마지막 요소를 리턴하고 삭제     

                                           - 한번에 하나씩            - index 사용 가능.

 

  extend()                             index()                                                

- 리스트 확장                    - 인덱스 반환                                   

                                         - 리턴값 반환 , 리스트에 없다면 에러발생 

                                         - 리스트에는 find() 가 없음

  count ()

- 리스트 요소 개수세기

 

 

 

 

ex) 

# 학생들의 점수를 입력받아 list에 추가
# 점수는 N 개만큼
# 리스트 출력 - 정렬하여 출력
# 점수 합계 / 평균
# n =3

point = []   # 점수 범위는 1~10
stu = 3  # 학생수
sum = 0  # 점수합계

while len(point) < stu :
    a = int(input("점수를 입력: "))
    if (a > 10) or (a < 1) :
        print(" 점수를 다시입력해주세요")
        continue
    else :
        point.append(a)
    sum = sum + a
    avg = sum / stu   # 평균
point.sort(reverse=True)
# point.reverse()
print(point)
print(" 점수합계는 %d 이고 점수 평균은 %.2f이다." % (sum,avg))

 

리스트 컴프리헨션

[ 식 for 변수 in list ]

[ 식 for 변수 in list if 조건식 ]

result = [a for a in point if a >= 80 ]
print(result)

 

튜플 (tuple)

튜플 자료형 : 리스트와 거의 비슷하다.

() 으로 표시

요소의 변경이 안됨.

인덱싱과 슬라이싱 가능.

 

딕셔너리 (dictionary)

key value 를 한 쌍으로 가지는 자료형

{} 사용  ,  변수 = { key : value , key : value , key : value ... }

value의 자료형은 제한이 없다.

값 추가 변수[key] = value  / key 값이 같으면 추가가 아니라 수정된다.

인덱스가 없음,  key값을 기준으로함 

key 리스트만들기 = keys()  , value 리스트만들기 = values() , key value 쌍으로 튜플로 생성 = items()

key로 value값 얻기 = get()

삭제 = clear()

in : 해당 키값이 딕셔너리에 있는지 확인  - True / False로 리턴

ex)

# 3명의 학생 이름과 점수를 입력받아 딕셔너리에 저장하고
# 딕셔너리 출력
# 학생 점수의 합계와, 평균을 출력

stu = 3 #학생수
dic ={}
sum = 0 # 점수총합

while len(dic) < stu  :
    name = input(" 이름을 입력하세요: ")
    num = int(input(" 점수를 입력하세요: "))
    dic[name] = num
print(dic)

for i in dic.values() :
    sum = sum + i
avg = sum / stu  # 평균
print(" 점수총합은 %d점 이고, 평균은 %.2f입니다." %(sum,avg))    

# 점수가 가장 높은사람을 뽑고싶다.

max = 0
max_key = ""
for i in dic.keys() :    # i 는 key
    print(i)
    print(dic.get(i))
    if dic.get(i) > max :
        max = dic.get(i)
        max_key = i
print(" 점수가 가장 높은사람은 %s이고, 점수는 %d 이다." % (max_key, max))    

 

 

 

'파이썬 기초 수업정리' 카테고리의 다른 글

수업정리 Day.05  (1) 2024.07.05
수업정리 Day04.  (0) 2024.07.04
수업정리 Day 02.  (1) 2024.07.02
수업정리 day 01.  (0) 2024.07.01