chae._.chae

파이썬 내가 헷갈리는 내용정리 본문

프로그래밍

파이썬 내가 헷갈리는 내용정리

walbe0528 2022. 1. 12. 16:48
728x90
반응형

type(object) 

1. 내장함수이며, 자료형을 확인하기 위해 사용된다.헷갈리는 자료형이나, 문제를 풀때 맞게 풀고 있는지 확인하기 위해 사용

 

 

reverse, reversed 차이

1. reverse는 값을 반환하지 , 해당 리스트를 거꾸로 섞어준다.  리스트.reverse()

2. reversed는 'reversed'객체를 반환한다.  print(reversed(리스트))

 

 

두개의 리스트 ant1, ant2가 있을때, 

예시-1) reverse를 사용해 먼저 뒤집어주고 더한다. => 잘 돌아간다.

예시-2) 한줄에 썼을 때

에러발생

ant1.reverse()는 반환값이 없으므로, 에러가 발생한다. 

 

 

join 함수

join함수는 문자열을 다룰때 유용하게 사용할 수 있는 함수이다.  매개변수로 들어온 리스트에 있는 요소를 하나씩 다 합쳐서 하나의 문자열로 바꾸어 반환하는 함수이다. 

''.join(리스트) 또는 '구분자'.join(리스트) 의 형태로 사용한다.

 

1. ''.join(리스트)  + 여기서의 구분자는 공백이다. 

['a', 'b', 'c']의 리스트를 'abc'의 문자열로 합쳐서 반환해준다.

2. '구분자'.join(리스트)

리스트의 값 사이에 '구분자'로 들어온 구분자를 넣어서 하나의 문자열로 합쳐서 반환해준다.

'_'.join(['a', 'b', 'c'])가 'a_b_c'의 형태로 반환된다. 

 

[예제]

"way a is there will a is there where" 문자열을 거꾸로 "where there is a will there is a way"로 단어를 역순으로 출력해보자.

 

print(' '.join(reversed(sentence.split()))   # 띄어쓰기 기준으로 reversed해주고, 그다음에 공백을 넣어서 반환해준다. 

 

 

 

map함수

1. 리스트에 map적용하기 

실수가 저장된 리스트에서 모든 요소를 정수를 변환할때

a = [1.2, 2.5, 3.7, 4.6]
for i in range(len(a)):
	a[i] = int(a[i])

for문을 사용해서 해도 되지만,

a = [1.2, 2.5, 3.7, 4.6]
a = list(map(int, a))
# a = [1, 2, 3, 4]로 바뀐다.

map을 사용하면 편리하게 가능하다.

 

sort, sorted 차이

nums=[2, 5, 10, 1] 일때,

1. 리스트.sort()

리스트를 정렬하며, 기존에 있던 리스트가 바뀐다.(리스트에만 적용 가능하다)nums.sort()

2. result = sorted(iterable_변수)모든 iterable에서 사용 가능하며, 기존의 리스트가 변하지 않는다. 즉, 별도의 저장이 필요하다. sorted(nums)

내림차순 정렬 => a.sort(reverse=True)

 

replace함수

1. 문자열.replace('기존문자', '바꿀문자')

sentence = 'I am hungry.'sentence = sentence.replace('hungry', 'happy')

 

 

삼항 연산자

파이썬에서의 삼항 연산자는 C언어와는 다르다. (난 당연히 똑같을줄 알았엉..)

1. C언어 - [조건문] ? [참일때] : [거짓일때] 의 형태

2. 파이썬 - answer = [참일때] if [조건문] else [거짓일때]

is_even = True if value % 2 == 0 else False

 

rstrip() 뜻

 

 

list comprehension

- 기존 list를 사용하여 다른 list를 만드는 방법이다.

- 파이썬에서 정말 많이 사용되고, for + append보다 속도가 빠르다. 

 

result = []
for i in range(10):
	result.append(i)
    
# list comprehension이용
result = [i for i in range(10)]
# if문으로 조건 넣어주기
result = [i for i in range(10) if i % 2 == 0]


# for문
word_1 = "Hello"
word_2 = "World"
result = [i+j for i in word_1 for j in word_2]
result = ['HW', 'Ho', 'Hr', 'H;' .. ]


# filter : i랑 j가 같다면 리스트에 추가하지 않는다. 
result = [i+j for i in word_1 for j in word_2 if not (i==j)]

 

728x90

'프로그래밍' 카테고리의 다른 글

깃허브란 ?  (0) 2022.02.01
스택과 힙 영역  (0) 2022.01.15
파이썬 에러 정리  (0) 2021.12.22
이분검색과 합병정렬  (0) 2021.12.21
Rest Api란?  (0) 2021.12.01