중첩 된 목록을 더 작은 중첩 된 목록으로 분할하는 방법

EvanKing

따라서 내 입력으로 중첩 된 목록이 있습니다 (중첩 된 목록은 항상 정사각형입니다. 즉, 열과 동일한 수의 행). 이 목록을 요소가 원래 목록의 2x2 "부분"인 다른 중첩 목록으로 나누고 싶습니다.

예를 들어, 내 입력이

[[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]]

내 출력은 [[1,2,5,6], [3,4,7,8], [9,10,13,14], [11,12,15,16]]

다른 예 : 입력 :

[[1,2,3],
[5,6,7],
[9,10,11],

산출: [[1,2,5,6],[3,7],[9,10],[11]]

처음 두 개의 열과 행을 통과하여 목록으로 만든 다음 다른 목록에 추가 한 다음 프로세스를 반복하는 중첩 된 for 루프를 만들려고 시도했지만 범위를 벗어난 인덱스 오류가 발생합니다.

이것이 내가 지금까지 한 일입니다.

def get_2_by_2(map: List[List[int]]) -> int:
    i = 0
    j = 0
    lst_2d = []
    lst = []

    for row in range(i, min(i+2, len(map))):
        for column in range(j, min(j+2, len(map))):
            print(row,column)
            lst.append(map[row][column])  
    lst_2d.append(lst)
    return lst_2d

기본적으로 이것은 처음 2x2 만 반환합니다. 나는 외부에서 while 루프를 사용하고 i와 j의 값을 증가시키고 while 루프를 그들 중 하나에 종속 시키려고했습니다. 그 결과 인덱스가 경계를 벗어났습니다.

blhsing

2 단계로 행과 열을 반복하고 그에 따라 목록 목록을 분할 할 수 있습니다.

def get_2_by_2(matrix):
    output = []
    for row in range(0, len(matrix), 2):
        for col in range(0, len(matrix[0]), 2):
            output.append([i for r in matrix[row: row + 2] for i in r[col: col + 2]])
    return output

또는 중첩 된 목록 이해력 :

def get_2_by_2(matrix):
    return [
        [i for r in matrix[row: row + 2]
        for i in r[col: col + 2]] for col in range(0, len(matrix[0]), 2)
    ]

그래서 주어진 :

m = [[1, 2, 3, 4],
     [5, 6, 7, 8],
     [9, 10, 11, 12],
     [13, 14, 15, 16]]

get_2_by_2(m) 보고:

[[1, 2, 5, 6], [3, 4, 7, 8], [9, 10, 13, 14], [11, 12, 15, 16]]

그리고 주어진 :

m = [[1, 2, 3],
     [5, 6, 7],
     [9, 10, 11]]

get_2_by_2(m) 보고:

[[1, 2, 5, 6], [3, 7], [9, 10], [11]]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

중첩 된 정수 목록을 목록으로 분할하는 방법

분류에서Dev

중첩 된 사전 목록에서 중첩 된 열로 팬더 데이터 프레임을 만드는 방법

분류에서Dev

중첩 된 개체 목록을 맵으로 줄이는 방법

분류에서Dev

중첩 된 subMap으로 subMap 목록을 찾는 방법

분류에서Dev

Kotlin : 중첩 된 목록으로 목록을 매핑하는 방법

분류에서Dev

Kotlin : 중첩 된 목록으로 목록을 매핑하는 방법

분류에서Dev

중첩 된 사전 및 목록 목록을 작성하는 방법

분류에서Dev

중첩 된 목록을 개별 목록으로 분할

분류에서Dev

중첩 된 목록 (목록)을 제거하는 방법은 무엇입니까?

분류에서Dev

파일에서 중첩 된 목록을로드하는 가장 좋은 방법

분류에서Dev

두 개의 중첩 목록을 Python에서 중첩 된 튜플 목록으로 변환하는 방법은 무엇입니까?

분류에서Dev

Pandas Dataframe coloumn 내부의 중첩 된 목록을 세로로, 즉 별도의 행으로 분할하는 방법

분류에서Dev

색인을 기반으로 중첩 된 목록을 결합하는 방법은 무엇입니까?

분류에서Dev

중첩 된 목록이있는 목록을 일반 목록으로 압축 해제하는 가장 좋은 방법

분류에서Dev

Pandas : 중첩 된 목록을 구문 분석 할 때 _id를 보존하는 방법은 무엇입니까?

분류에서Dev

목록을 중첩 된 사전으로 변환하는 방법은 무엇입니까?

분류에서Dev

중첩 된 사전의 값 목록을 만드는 더 좋은 방법이 있습니까?

분류에서Dev

R : 중첩 된 목록을 data.frame에 "중첩 해제"하는 방법은 무엇입니까?

분류에서Dev

중첩 된 사전을 행렬 목록으로 바꾸는 방법?

분류에서Dev

중첩 목록을 끊고 쉼표로 구분 된 항목을 얻는 방법은 무엇입니까?

분류에서Dev

가장 깊은 요소에서 중첩 된 목록을 탐색하는 방법

분류에서Dev

중첩 된 목록을 각 포함 된 목록이 별도의 열이되는 데이터 프레임으로 나누는 방법은 무엇입니까?

분류에서Dev

목록의 중첩 된 사전을 만드는 방법

분류에서Dev

Pyspark / Dataframe : 중첩 된 목록을 중첩 된 목록으로 유지하는 새 열 추가

분류에서Dev

중첩 된 매트 선택 목록 항목을 최적의 방식으로 전환하는 방법

분류에서Dev

Pandas 데이터 프레임 열 내부의 목록 내부에서 중첩 된 목록을 분해 / 분할하는 방법은 무엇입니까?

분류에서Dev

중첩 된 사전이있는 목록을 csv 파일에 작성하는 방법은 무엇입니까?

분류에서Dev

Terraform : 목록 내 중첩 된 맵 목록에서 값을 선택하는 방법은 무엇입니까?

분류에서Dev

자바에서 중첩 된 목록 구조의 중첩 된 항목을 얻는 방법

Related 관련 기사

  1. 1

    중첩 된 정수 목록을 목록으로 분할하는 방법

  2. 2

    중첩 된 사전 목록에서 중첩 된 열로 팬더 데이터 프레임을 만드는 방법

  3. 3

    중첩 된 개체 목록을 맵으로 줄이는 방법

  4. 4

    중첩 된 subMap으로 subMap 목록을 찾는 방법

  5. 5

    Kotlin : 중첩 된 목록으로 목록을 매핑하는 방법

  6. 6

    Kotlin : 중첩 된 목록으로 목록을 매핑하는 방법

  7. 7

    중첩 된 사전 및 목록 목록을 작성하는 방법

  8. 8

    중첩 된 목록을 개별 목록으로 분할

  9. 9

    중첩 된 목록 (목록)을 제거하는 방법은 무엇입니까?

  10. 10

    파일에서 중첩 된 목록을로드하는 가장 좋은 방법

  11. 11

    두 개의 중첩 목록을 Python에서 중첩 된 튜플 목록으로 변환하는 방법은 무엇입니까?

  12. 12

    Pandas Dataframe coloumn 내부의 중첩 된 목록을 세로로, 즉 별도의 행으로 분할하는 방법

  13. 13

    색인을 기반으로 중첩 된 목록을 결합하는 방법은 무엇입니까?

  14. 14

    중첩 된 목록이있는 목록을 일반 목록으로 압축 해제하는 가장 좋은 방법

  15. 15

    Pandas : 중첩 된 목록을 구문 분석 할 때 _id를 보존하는 방법은 무엇입니까?

  16. 16

    목록을 중첩 된 사전으로 변환하는 방법은 무엇입니까?

  17. 17

    중첩 된 사전의 값 목록을 만드는 더 좋은 방법이 있습니까?

  18. 18

    R : 중첩 된 목록을 data.frame에 "중첩 해제"하는 방법은 무엇입니까?

  19. 19

    중첩 된 사전을 행렬 목록으로 바꾸는 방법?

  20. 20

    중첩 목록을 끊고 쉼표로 구분 된 항목을 얻는 방법은 무엇입니까?

  21. 21

    가장 깊은 요소에서 중첩 된 목록을 탐색하는 방법

  22. 22

    중첩 된 목록을 각 포함 된 목록이 별도의 열이되는 데이터 프레임으로 나누는 방법은 무엇입니까?

  23. 23

    목록의 중첩 된 사전을 만드는 방법

  24. 24

    Pyspark / Dataframe : 중첩 된 목록을 중첩 된 목록으로 유지하는 새 열 추가

  25. 25

    중첩 된 매트 선택 목록 항목을 최적의 방식으로 전환하는 방법

  26. 26

    Pandas 데이터 프레임 열 내부의 목록 내부에서 중첩 된 목록을 분해 / 분할하는 방법은 무엇입니까?

  27. 27

    중첩 된 사전이있는 목록을 csv 파일에 작성하는 방법은 무엇입니까?

  28. 28

    Terraform : 목록 내 중첩 된 맵 목록에서 값을 선택하는 방법은 무엇입니까?

  29. 29

    자바에서 중첩 된 목록 구조의 중첩 된 항목을 얻는 방법

뜨겁다태그

보관