본문 바로가기
Tech-Pyhton

[Python] 유용한 파이썬 기능

by redcrow 2019. 3. 10.

1. 복수개의 특정문자열이 존재하는지 확인

 

>>> find_str =  ['a','b','c']

 

>>> any(x in 'cdef' for x in find_str)   # 'cdef'에 'c'가 존재하므로 True

     

True

 

>>> any(x in 'def' for x in find_str)    # 'def'에 'a','b','c' 중 하나도 없으므로 False

     

False

 

>>> all(x in 'cafba' for x in find_str)   #  'a','b','c' 가 모두 존재하므로 True

     

True

 

any 함수는 하나라도 존재하면 True, all 함수는 모두 존재하면 True

 

 

2. 진법전환

 

1) base진법의 num을 10진법으로 전환. num은 문자열이어야 함.

 

int(num,base)

 

2) 10진법의 num을 16진법으로 전환. num은 숫자이어야 함.

 

hex(num)

 

3) 10진법의 num을 8진법으로 전환. num은 숫자이어야 함.

 

oct(num)

 

 

3. 곱집합( Cartesian Product)

 

>>> import itertools

>>> iterable1 = 'ABCD'

>>> iterable2 = 'xy'

 

>>> list(itertools.product(iterable1, iterable2))

[('A', 'x'), ('A', 'y'), ('B', 'x'), ('B', 'y'), ('C', 'x'), ('C', 'y'), ('D', 'x'), ('D', 'y')]

 

>>> list(map(list, itertools.product(iterable1, iterable2)))

[['A', 'x'], ['A', 'y'], ['B', 'x'], ['B', 'y'], ['C', 'x'], ['C', 'y'], ['D', 'x'], ['D', 'y']]

 

 

4. Permutation , Combination

 

Permutation (순열) : 순서가 있는 조합. . [A,B] 와 [B, A]는 다름

Combinamtion (조합) : 순서가 없는 조합. [A,B] 와 [B, A]는 동일

 

>>> import itertools

>>> mylist = [ 'A','B','C']

>>> list(map(list, itertools.permutations(mylist)))

 )

[['A', 'B', 'C'], ['A', 'C', 'B'], ['B', 'A', 'C'], ['B', 'C', 'A'], ['C', 'A', 'B'], ['C', 'B', 'A']]

 

>>> list(map(list, itertools.permutations(mylist,2)))

[['A', 'B'], ['A', 'C'], ['B', 'A'], ['B', 'C'], ['C', 'A'], ['C', 'B']]

 

>>> list(map(list, itertools.combinations(mylist,2)))

[['A', 'B'], ['A', 'C'], ['B', 'C']]

 

 

5. 2차원 리스트를 1차원 리스트로 변환

 

>>> my_list = [[1, 2], [3, 4], [5, 6]]

      

>>> sum(my_list, [])

      

[1, 2, 3, 4, 5, 6]

>>> [element for array in my_list for element in array]

      

[1, 2, 3, 4, 5, 6]

 

6.  파일읽기

 

with ~ as 구분으로 간단하게 파일 읽기. 이 구분이 끝나면 파일이 자동으로 close 되므로 별도의 close문이 불필요

 

with open('myfile.txt') as file:

  for line in file.readlines():

    print(line.strip().split('\t'))

 

 

7. 정규표현식

 

https://wikidocs.net/4308

댓글