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
'Tech-Pyhton' 카테고리의 다른 글
[Python] List Comprehension (0) | 2019.03.27 |
---|---|
[Python] collections (0) | 2019.03.27 |
Python 자료형 SORT [List, Tuple, Dictionary] (0) | 2019.03.06 |
[Python] 문자열 함수 (0) | 2019.03.03 |
MIT OCW - Introduction to Computer Science and Programming in Python - Lecture 06 (0) | 2019.02.24 |
댓글