list 섞기.

리스트 내부 값을 섞읍시다.

  • 간단하게 말 그대로, 리스트의 값들을 죽 섞는 것을 말합니다. 가끔 이런게 필요하죠.
  • np.random.shuffle를 이용하면 되긴 하는데, 아쉬운 것이, 값을 리턴해주는 형식이 아닙니다.
  • 즉, 전달받은 array를 셔플해서 원래 메모리에 그대로 저장해주는 방식이죠.
  • 만약 원래 어레이는 그대로 두고 복사해서 리턴하려면 새로운 변수에 어레이를 복사해서 넣고 하는 조금 귀찮은 일이 발생합니다.
## 리스트 섞기 
a = [1,2,3,4]
print(np.random.shuffle(a)) ## None을 리턴함 
print(a)
print("="*20)
None
[3, 2, 4, 1]
====================

np.random.choice

  • 조금 트리키한 방법인 것 같기는 한데 np.random.choice를 이용해서 처리합니다.
  • 즉, 어레이의 크기가 10개짜리라면 랜덤하게 10개를 뽑으면 되는거죠.
  • 단 결과값이 list가 아니라, np.array로 변경됩니다.
a = [1,2,3,4]
b = np.random.choice(a, 4, replace=False)
print(a, type(a))
print(b, type(b))
None
[3, 4, 1, 2]
====================
[1, 2, 3, 4] <class 'list'>
[4 2 3 1] <class 'numpy.ndarray'>

댓글남기기