본문 바로가기

데이터 청년 캠퍼스(경남대학교)/수업

2021-06-29

a = ['a','b','c']
a.append('d')

a.append('e','f') #두 개 넣으면 오류뜸
a.append('e':'f') #여기도 오류

어제 배웠던거 잠시 복습하고 리스트와 딕셔너리에 대해 배움

 

a = [1, 2, 'abc', [3, 4, 'list']]

리스트는 다른 언어의 배열과 달리 다양한 데이터타입이 섞여있어도 무방함

또한 리스트 안에 리스트가 있는 것도 가능함

 

a[2]

위와 같이 리스트는 인덱스를 사용해서 출력하는 것이 일반적임

 

a[3][2]

이차원 형태를 사용해서 배열 안의 배열에서 추출할 수 있음

 

리스트는 안의 요소?를 초기화하는 것도 가능함

a = 'li,fe is, to,o sh,ort'
li = a.split(',')

li[2] = 'two'

위와같이 리스트는 유동적?이라고 할 수 있음

값이 변할 수 있다!

 

변하는 것 외에 삭제하거나 추가하는 방법도 있음

 

del li[2] #인덱스 2번에 있는거 지우기
li.remove('li') # 'li'를 지우기 변수 이름 아니고 리스트 안에 요소!
a = ['a','b','c']
a.append('d')

a.append('e','f') #두 개 넣으면 오류뜸
a.append('e':'f') #이 방법도 오류

그러면 두 개를 동시에 넣는 방법은?

a.append(['e','f'])

리스트 안에 리스트를 넣는 방식이 있는데 리스트 말고 개별의 값으로 넣고싶으면 다른 함수를 사용해야 함

 

a.extend(['g','h'])

extend함수를 사용하는 방법이 있음 

사실 extend 함수는 넣는다는 것 보다 두 개의 리스트가 합쳐진다는 개념이 맞음

그래서 extend는 항상 리스트의 형태로 사용되어야 함

 


다음은 딕셔너리

 

딕셔너리는 중괄호를 사용함

그리고 인덱스의 개념이 아니라 key값으로 접근함

딕셔너리는 {key1:value1, key2:value2 ... } 형태임

 

dic = {'a':123, 1:'school', (2,3):'python'}

dic1 = {'a':123, 1:'school', (2,3):'python', [1,2]:'abc'} #키 값이 리스트에 있어서 오류 발생

key값은 변할 수 없는 값이여야 함

그래서 리스트랑 딕셔너리는 키 값으로 사용이 불가능함

 

dic[1] #대괄호 안에 있는거는 키 값 없으면 오류
dic[123]='abcd' #dic[키 값] = 벨류 값

#삭제
del dic['a']

#모든 key 출력
dic.keys() #리스트로 출력

#모든 value 출력
dic.values() #얘도 리스트로 출력

#둘 다
dic.items()

 

dic.get(0)

get 함수를 사용하면 해당되는 key 값이 없어도 오류가 안남

없으면 출력값 없이 넘어감

 

 


제어문

 

if문 예제

#점수 (score)를 입력받아서 90점 이상이면 'a' 80점 이상이면 'b', 70점 이상이면 'c'를 그 외 점수는 'f'
score = int(input('점수를 입력하세요: '))

if score >= 90 :
    print('A')
elif score >= 80 :
    print('B')
elif score >= 70 :
    print('C')
else :
    print('F')

 

while문 예제

#while문을 사용해 1부터 1000까지의 자연수 중 3의 배수의 합을 출력하는 프로그램을 작성하시오

sum = 0
num = 0

while (num < 1000):
    if num%3==0:
        sum+=num
        num+=1
    else:
        num+=1
        
print('합은', sum)

 

for문 예제

# 학급에 총 10명의 학생이 있다. 이 학생들의 중간고사 점수는 다음과 같다.
#[70,60,55,75,95,90,80,80,85,100] for문 사용해서 평균점수 구하기

class_a = [70,60,55,75,95,90,80,80,85,100]
sum = 0

for i in class_a:
    sum += i #sum = sum + i

print('평균점수:',sum/len(class_a))

 

 

함수

 

함수는 네 가지로 구분됨

1. 일반적인 함수

2. 입력값이 없는 함수

3. 결과값이 없는 함수

4. 입력값, 결과값이 없는 함수

 

 

def myself(age, name, sex= True):
    print('나이:', age)
    print('이름:', name)
    if sex :
        print('남자')
    else:
        print('여자')

위는 간단한 함수 활용을 해 보면

myself(20, 'hong')

이런식으로 활용 가능! 반복된 작업을 줄여주는 것이 함수

 

 

파일 읽고 쓰기 예제

 

 

#10명 학생의 점수가 [70, 60, 55, 75, 95, 90, 80, 80, 85, 100]이다. 이를 파일(score.txt)에 저장하시오. score.txt 파일에 저장한 점수를 불러와서 총점과 평균을 구하시오.

score = [70, 60, 55, 75, 95, 90, 80, 80, 85, 100]
sum = 0

f = open('score.txt', 'w')
for i in score:
    f.write(str(i)+" ")    
f.close() 


f= open('score.txt','r')
line = f.read()
b = line.split()
#print(b)

for i in range(len(b)):
    sum+= int(b[i])

    
f.close()    

print('총합:',sum)
print('평균:',sum/len(score))

 

'데이터 청년 캠퍼스(경남대학교) > 수업' 카테고리의 다른 글

2021-07-09  (0) 2021.07.09
2021 - 07 - 02  (0) 2021.07.02
2021-07-01 (2)  (0) 2021.07.01
2021-07-01 (1)  (0) 2021.07.01
2021-06-28  (0) 2021.07.01