파이썬 리스트의 같은 요소끼리 묶을 수 있을까요?
조회수 2217회
만약
["가나다","가나다","가나다","가나다","가나다","abc","abc","abc","마바사","마바사","마바사]
와 같은 1차원 리스트가 있을 때 2차원 리스트로
[["가나다","가나다","가나다","가나다","가나다"],["abc","abc","abc"],["마바사","마바사","마바사"]]
이렇게 묶을 수 있을까요?
3 답변
-
from collections import Counter l = ["가나다","가나다","가나다","가나다","가나다","abc","abc","abc","마바사","마바사","마바사"] ll = [[k]*v for k, v in Counter(l).items()]
언제 시간나면
python
built-in module이 뭐가 있는지 공부해보세요.
훌륭한 함수가 많습니다.-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
+별해
from itertools import groupby l = ["가나다","가나다","가나다","가나다","가나다","abc","abc","abc","마바사","마바사","마바사"] ll = [list(v) for _, v in groupby(l)]
-
모듈 사용하는 답변만 있어서 따로 import 할 필요 없이 dictionary로 해결하는 방법도 보여드리겠습니다.
a = ["가나다","가나다","가나다","가나다","가나다","abc","abc","abc","마바사","마바사","마바사"] b = {} for item in a: if item in b: b[item].append(item) else: b[item] = [item] answer = list(b.values())
댓글 입력