728x90
반응형

* 본 포스팅은 주피터 노트북에서 진행했다.

 

#튜플
t0=(10,20,30)
t0

 

t0+t0

 

튜플은 리스트와 똑같은데 차이점은 수정이 안된다. 읽어오기만 할 수 있다.

 

 

예제

def area_and_circle(radius):
    area = 3.14*radius**2
    circum = 2*3.14*radius
    return area, circum

type()을 이용해 형식을 살펴보니 tuple이다...

 

r=5
a,c=area_and_circle(r)
print('반지름 {}인 원의 면적의 둘래는 {},{}'.format(r,a,c))

 

반환 값을 하나(tuple)이고 반환받은 곳에서 unpacking 되어 하나씩 가져다 사용 가능하다.

728x90
반응형
728x90
반응형

* 본 포스팅은 주피터 노트북으로 사용했다.

 

import numpy as np
import pandas as pd

arr10 = [[[26, 22, 12, 12, 22], [87, 11, 13, 17, 19], [12, 23, 34, 23, 17]],
         [[26+1, 22+5, 19, 112, 22], [817, 11, 413, 17, 19], [112, 23, 134, 523, 117]],
         [[26+2, 22+6, 111, 132, 22], [87, 101, 130, 17, 19], [12, 23, 64, 23, 117]],
         [[26+3, 22+7, 12, 121, 22], [87, 171, 163, 17, 19], [12, 23, 634, 23, 167]],
         [[26+4, 22+8, 12, 121, 22], [87, 311, 163, 17, 19], [12, 23, 434, 23, 107]]]
print(arr10)

 

형식을 확인한다.

#3차원 배열
npa = np.array(arr10)
np.shape(npa) #3행5열5장있는것

 

 #내가 푼 결과가 이것과 같아야 하므로 확인차 실행한다.

np.sum(arr10,axis=2)

 

def myF1(i):
    sum=0
    for j in i:
        sum+=j
    return sum
def myF(i):
    return list(map(myF1,i))
list(map(myF,arr10))

 

 

자세한 동작과정을 확인해 보기 위해 print문을 적용해 보았다.

 

728x90
반응형
728x90
반응형

 

* 본 포스팅은 주피터 노트북을 사용하였다.

 

person ={'이름':['홍길동','홍말자','김개똥','홍길동','김개똥'],
         '나이':[26, 22 ,12,12,22],
         '몸무게':[87,11,13,17,19],
         'age':[12,23,34,23,17], 
         'sex':['M','F','M','F','M']
        }
person

 

생성된 딕셔너리에 '이름' 키값을 가져와 보자

 

 

person의 나이의 총합 구하기

sum=0
for i in person['나이']:
    sum +=i
print(sum)

 

 

map을 이용하여 2차원 리스트 값 더하기

 

생성된 2차원 리스트에서 나이, 몸무게, age 끼리 더한 결과를 도출해 보자

def myF(i):
    sum=0
    for j in i:
        sum+=j
    return sum
list(map(myF,arr))

728x90
반응형
728x90
반응형
list1 = [10, 20, 30, 40, 50]
list1 = list(map(lambda x: x*10,list1))
print(list1)

def myFunc(x):
    return x*12
list3= list(map(myFunc,list1)) #list1=[100, 200, 300, 400, 500]
print(list3)

myFunc 함수는 들어오는 값마다 12를 곱해준다. 이것을 map을 이용하여 list1의 값들을 myFunc 함수에 적용한다.

 

def myFuncBool(x):
    return x%8==0
list4 = list(filter(myFuncBool, list1))  #list1=[100, 200, 300, 400, 500]
print(list4)

 

myFunBool 함수는 8의 배수를 반환 한다. 이것을 filter를 이용하여 list1의 값들을 myFunBool 함수에 적용한다.

728x90
반응형
728x90
반응형

* 본 포스팅은 주피터 노트북을 사용하였다.

 

list에 sort()를 이용해보자 sort는 정렬이다!

 

a_list는 [12, 56, 11, 34] 배열을 가지고 있다 sort()를 적용하면

 

 

a_list안에 있던 값들이 오름차순으로 정렬된 것을 확인할 수 있다.

 

여기서 index() 를 이용하면 몇번에 위치하는지 알 수 있는데

오름차순한 a_list에서 11은 0번째에 있으므로 0이 떴고

 

sort를 reverse로 하여 반대로 정렬하고 난 후 11의 값이 3번째에 있다는 것을 알려준다.

 

다음은 insert()를 이용하는데 insert는 몇번째에 어떤 값을 넣을지 지정할 수 있다.

 

 

여기서 pop()를 이용하면 끝에있는 값을 가져온다.

 

 

문제) pop을 이용하여 데이터를 역순으로 정렬하기

a_list = [12, 56, 11, 34]
result=[]
list=len(a_list)
for i in range(0, list):
    result.append(a_list.pop())
print(result)

 

문제) pop 대신 remove를 이용하여 마지막 데이터 삭제하기

a_list = [12, 56, 11, 34]
a_list.remove(a_list[-1])
print(a_list)

 

* 리스트의 내용 갱신하기 -> 각각 10을 곱한 값으로 갱신!

list1 = [10, 20, 30, 40, 50]
i=0
for n in list1:
    list1[i] = n*10
    i=i+1
print(list1)

문제 ) 위의 값을 list comprehension으로 바꿔보기

[i*10 for i in list1]

728x90
반응형
728x90
반응형

* 본 포스팅은 주피터 노트북을 이용하였다. 차이는 print문이므로 파이참에 적용하려면 print를 붙여주면 된다!

 

멤버 연산자인 in, not in을 확인해 보자

 

a_list 문자열 생성

 

사진처럼 in 을 이용해 내가 찾고 싶은 값이 있으면 True, 없으면 False를 반환한다.

 

if 문을 이용하여 이 해당 값이 있을 경우 문자열 배열에 삭제하도록 해보자

 

12가 사라진 것을 확인할 수 있다.

 

문제 ) a_list에 있는 값과 b_list에 있는 값들 중 겹치는 값을 출력해보자

[10, 16]이 나오면 되고 방법은 2가지가 있다.

 

1)

result =[]
for i in a_list:
    for j in b_list:
        if(i==j):
            result.append(i)
print(result)

 

2)

c_list=[]
for i in b_list:
    if i in a_list:
        c_list.append(i)
print(c_list)

728x90
반응형
728x90
반응형

* 본 포스팅은 주피터 노트북을 이용하였다.

 

* list[0] : 0번째 리스트 값 가져오기* list[:3] : 0~2까지 리스트 값가져오기* list[2:] 2번째 부터 끝까지 리스트 값 가져오기

 

 

list()로 묶으면 알아서 슬라이싱 해준다!

 

문제 ) 문자열을 리스트로 변환하고 그 문자열의 갯수가 몇개인지 알기

str22="대한민국의 국민이 되는 요건은 법률로 정한다. 헌법개정안은 국회가 의결한 후 30일 이내에 국민투표에 붙여 국회의원선거권자 과반수의 투표와 투표자 과반수의 찬성을 얻어야 한다."
list1=list(str22)
len(list1)

 

리스트 안에 for문을 이용하여 값을 생성할 수 있다.

 

list[-2]는 뒤에서 2번째를 의미한다.

 

* append와 extend 

 

a_list가 ['a', 'b', 'c', 'd', 'e', 'f'] 인 상태에서 append와 extend를 사용해보자

 

append를 사용하면 [ ]도 생성되지만 extend는 문자열이 추가되었다.

 

* 중복 제거하기

 

a_list의 값이 [12, 56, 11, 'f', 'r', 't', 'f', 'r', 't'] 일때 중복을 제거해보자

distinct=set(a_list)
print(distinct)

* 해당되는 값 삭제

a_list.remove('c') #해당되는 값 삭제
print(a_list)

 

728x90
반응형
728x90
반응형

* 본 포스팅은 주피터 노트북을 이용하였다. 이 코드로는 파이참에서도 실행이 가능하다.

 

1. while 문을 이용하여 총합계 구하기

arr = [1,2,3,3,7,9,23]
sum=0
i=0
while i < len(arr):
    sum = sum +arr[i]
    i += 1
print(sum)

 

2. list comprehension(리스트 내포)

[출력표현식 for 요소 in 입력Sequence [if 조건식]]

예제를 풀어보자

arr = [1,2,3,3,7,9,23,100,4,12,7]
arr1=[i*i for i in arr] #list comprehension
print(arr1)


이번에는 기존의 list 예제와 list comprehension을 비교해보자

문제는 arr 리스트 안에 짝수만 새로운 리스트(arr1)에 넣는 것이다.

 

기존 list

arr = [1,2,3,3,7,9,23,100,4,12,7]
arr1=[]
sum=0
i=0
while i < len(arr):
    if arr[i]%2==0:
        arr1.append(arr[i])
    i += 1
print(arr1) #[2, 100, 4, 12]

list comprehension

arr = [1,2,3,3,7,9,23,100,4,12,7]
arr2 = [i for i in arr if i%2==0]
print(arr2)

 

 

728x90
반응형
728x90
반응형

function.py 에 입력한 코드이다.

 

이번엔 함수와 함수에 list를 응용할 것이다.

 

def a(i):
    print(i);

a(7); # 함수 호출
a([1,2,3,4,5]); #리스트

 

입력한 변수의 값까지 총합을 구하기

def sum(n):
    s = 0
    for i in range(1,n+1):
        s += i
    return s
print(sum(10))

 

list를 이용하여 list 안의 값들의 총합을 구하기

list = [1,2,3,4,5,11,20]
def sum(list):
  sum = 0
  for n in list:
    sum = sum + n
  return sum
print(sum(list))

728x90
반응형
728x90
반응형

for.py에 저장한 코드이다.

 

이번에는 for문을 사용할 것이다.

 

for _ in range(2):
    print('여러분 안녕하세요?')

 

for i in range(3):
    print('hi 여러분 안녕하세요?',i)

 

for i in range(7):
    if i%5==0 :
        print(i)
    else:
        print('5의 배수가 아닙니다.')

 

list 이용해보기

z = list(range(0,5,2)); #list(배열)로 만들어주는 함수 0부터 5까지 2씩증가
print(z)

 

#-2부터 -10까지 2씩 감소해서 출력
for i in range(-2,-10,-2):
    print(i)

 

#문제 range와 for in을 이용하여 1~10까지의 총합을 구하기

sum=0
for i in range(1,11):
    sum += i
    print('i={},s={}'.format(i,sum)); #print(sum)

728x90
반응형

+ Recent posts