2 답변
-
import random from itertools import chain from collections import Counter lottoContainer = (random.sample(range(1, 46), 6) for i in range(10)) # 로또 번호 중복되지 않게 6개의 숫자로10번 생성 numbers = chain.from_iterable(lottoContainer) # 정렬 및 카운트를 위해 flatten 처리 result = sorted(sorted(Counter(numbers).most_common(), key=lambda pair:pair[0], reverse=False), key=lambda pair:pair[1], reverse=True) # 정렬 및 카운트 처리 result Out[4]: # (숫자, 카운트) [(19, 4), (20, 4), (32, 4), (2, 3), (12, 3), (15, 3), (26, 3), (31, 3), (4, 2), (11, 2), (13, 2), (14, 2), (22, 2), (27, 2), (30, 2), (33, 2), (42, 2), (44, 2), (1, 1), (3, 1), (5, 1), (7, 1), (9, 1), (21, 1), (24, 1), (28, 1), (29, 1), (34, 1), (37, 1), (40, 1), (43, 1)]
- 헉... 저는 아직 list 와 반복문 for while 밖에 배우지 않았는데 ㅎㅎ... 저에게는 굉장히 낯서네요 일일히 공부해야봐야겠어요 정말 감사합니다 :-) 알 수 없는 사용자 2017.5.11 21:36
- lottoContainer = (random.sample(range(1, 46), 6) for i in range(10)) # 로또 번호 중복되지 않게 6개의 숫자로10번 생성 할 때 정렬 할 수 있는 방법이 있을까요?? list가 아닌것 같아서 정렬이 안되네요 ㅜㅠㅠ 알 수 없는 사용자 2017.5.14 14:59
- list가 아니라 generator 라서 그럽습니다. list를 사용하면 불필요한 메모리 낭비가 되므로 많은 경우 generator로 하는 것이 낫습니다. lottoContainer = (random.sample(range(1, 46), 6) for i in range(10)) 대신 lottoContainer = [random.sample(range(1, 46), 6) for i in range(10)] 이렇게 하세요 정영훈 2017.5.14 16:48
- 정렬은 [sorted(random.sample(range(1, 46), 6)) for i in range(10)] 와 같이 random.sample(range(1, 46), 6)을 sorted 하면 됩니다. 정영훈 2017.5.14 17:12
-
리스트에 포함된 요소 x의 개수 세기(count)
count(x)는 리스트 내에 x가 몇 개 있는지 조사하여 그 개수를 돌려주는 함수이다.
카운트 함수 사용하면 되지 않을까요??
댓글 입력