본문 바로가기
728x90

list3

python 1차원 리스트 다중 인덱싱 하기 1차원 리스트에서 원하는 인덱스 순서대로 재정렬하는 코드입니다. 정렬할 인덱스를 리스트로 구하고 -> multi_index, 정렬할 리스트를 2차원으로 만들어서 각 행마다 multi_index를 수행하여 재정렬, 다시 1차원으로 변환후 리스트로 전환. # 1차원 리스트or배열 다중 인덱싱하여 재정렬하기. import numpy as np import random random.seed(7) # random seed 고정 x = [5, 6, 7, 8] multi_index = list(range(len(x))) # [0,1,2,3] random.shuffle(multi_index) # [3,1,0,2] x = np.array(x) x = np.reshape(x, (len(x), -1)) # 2차원 변환 x .. 2023. 7. 16.
[c++] iterator에 대해서 1) 컨테이너에 저장되어 있는 원소들을 참조할 때 사용 2) 추장적으로, 컨테이너의 모든 원소들을 볼 수 있는 포인터와 비슷한 객체, 여러 종류가 있음. 3) 반복자의 성질을 가지므로, 컨테이너와 안의 요소를 구별, 요소의 값 확인, 컨테이너 안에 있는 요소들 간의 이동할 수 있는 연산 제공 4) end() 함수는 끝이 아님, 맨 마지막 원소의 다음번 원소를 가르킴. 5) 반복자의 종류 - 입력 반복자(input iterator) : 읽기만 가능, 순방향 이동, 현 위치의 원소를 한 번만 읽을 수 있는 반복자 - 출력 반복자(output iteraotr) : 쓰기만 가능, 순방향 이동, 현 위치의 원소를 한 번만 쓸 수 있는 반복자 - 순방향 반복자(forward iterator) : 읽기/쓰기 모두 가.. 2023. 7. 13.
[c++] STL <list> 정리 STL의 list는 양방향 연결리스트 구조이다. #include #include // list로 불러온다. #include using namespace std; // 여러가지 자료형 선언 가능 list L; list L_string; for (int i = 0; i < 10; i++) L.push_back(i); // 값들을 저장하면서 연결해줌. // insert + next 예제 L.insert(next(L.begin(),2), 3); // L.begin에서 2만큼 next한 지점에 3을 insert함. 오른쪽으로 한칸씩 밀려남 // erase + next L.erase(next(L.begin(), 2)); // L.begin의 2만큼 next한 지점의 값을 지운다. 왼쪽으로 한칸씩 밀려남 // siz.. 2023. 7. 13.
728x90