외우지말고 이해하라.

외우는 것 보단 이해해서 내것으로 만들어 활용하기

Another-Develop/Python

05 파이썬 - collections.Counter, 2차원 리스트 -> 1차원 리스트 : - from_iterable, 순열 : permutations

hyg4196 2021. 6. 7. 09:37
반응형

 

1. 가장 많이 등장하는 알파벳 찾기 - Counter

주어진 시퀀스타입에 몇 번이나 등장하는지 세야 할 때 사용

collections.Counter 클래스를 사용하면 코드를 간략하게 만들 수 있습니다.

import collections
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 7, 9, 1, 2, 3, 3, 5, 2, 6, 8, 9, 0, 1, 1, 4, 7, 0]
answer = collections.Counter(my_list)

print(answer[1]) # = 4
print(answer[3])  # = 3
print(answer[100]) # = 0

 

2. 2차원 리스트를 1차원 리스트로 만들기 - from_iterable

각 원소의 길이가 동일한 경우에만 사용 가능합니다.

각 원소의 길이가 다른 리스트는 편평하게 만들 수 없습니다.

 

import numpy as np

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

np.array(my_list).flatten().tolist()

 

3. 순열과 조합 - combinations, permutations

 

import itertools

pool = ['A', 'B', 'C']
print(list(map(''.join, itertools.permutations(pool)))) # 3개의 원소로 수열 만들기
print(list(map(''.join, itertools.permutations(pool, 2)))) # 2개의 원소로 수열 만들기
반응형