파이썬 중급 4일차(1)

김영목·2021년 8월 2일
0

파이썬중급

목록 보기
7/18

오늘도 역시나 이제껏 경험해보지 못한 재미있는 세계를 경험하고 왔다.
그것은 바로 시퀀스!!!!!

시퀀스! 영어로 연속을 의미한다. 그것은 즉 순서가 있음을 의미하고 우리가 배운 것들 중 시퀀스는 어떠한 것들이 있을까?? 대표적으로 리스트 튜플이 있다.

우선 시퀀스에 들어가기 이전에 자료형을 간단히 분류해보자.

A. 컨테이너 vs 플랫

컨테이너 자료형이란 서로 다른 자료형을 함께 저장할 수 있는 자료형을 의미한다.
예를 들어 리스트! 우리는 리스트 안에 퓨플과 딕 타입등의 자료형을 넣을 수 있다.
대표적으로 list, tuple, colletions, deque가 있다.

이와 반대로 플랫형의 경우 1가지 타입의 자료형만 저장할 수 잇는 자료형을 의미한다.
대표적으로 str, bytes, bytearray, array가 있다.


지능형리스트 vs 비지능형리스트
(1) 비지능형리스트
char = 'k@)~?/#$'

non_intel = []

for i in char :
	char.append(ord(i))
    
(2) 지능형리스트

intel = [[ord(i)] for i in char]

앞선 시간에 배운 namedtuple을 활용할 때 이와 유사한 방식으로 namedtuple을 만들었음

예를 들어 

student  = namedtuple('student', 'class, num')

sort_class = [student(class, num) for class  in 'A B C D'.split() for num in [for i in range(1,21)]]

# Comprehending Lists + Map, Filter

지능형리스트와 map그리고 filter함수를 동시에 사용해보기 이전에
기본적으로 지금 작업에 쓰이는 map,filter함수에 대해서 알 필요가 있다.

우리가 만약에 아래와 같은 리스트형을 만들었다고 하자.

my_num = [1,2,3,4,5,6,7,8]

여기서 우리가 4를 초과하는 즉 5이상의 숫자만 보고싶다면? 어떻게 할까???

def over(x) :
	if x >= 5 :
    		return true
        else :
        	return false
            
            
for i in filter(over, my_num) :
	print(i)
    
여기서 출력되는 숫자는 5 6 7 8이다. 

그리고 map함수를 이용할 경우는

for i  in map(over,my_num) :
	print(i)
    
여기서 출력되는 것은 TrueFalse이다. 

여기서 알 수 있는 것은 filterTrue값만 받아서 그 내용을 보여주는 것이고.
map은 인자에 사용된 함수의 결과값을 그대로 나타내준다. 

필요한 것들을 알아보았으니 본격적으로 시작하겟다. 

char = '!><(?/)#$%'
            
code_list = list(filter(lambda x : x > 40, map(ord, chars)))




        
      


   

profile
안녕하세요 김영목입니다.

0개의 댓글