복붙노트

[PYTHON] 어떻게하면 x 개의 원소마다리스트를 나누고 그 원소 x 개의 원소를 새로운리스트에 추가 할 수 있을까요?

PYTHON

어떻게하면 x 개의 원소마다리스트를 나누고 그 원소 x 개의 원소를 새로운리스트에 추가 할 수 있을까요?

나는 여러 정수와 문자열 [ '-200', '0', '200', '400', 'green', '0', '0', '200', '400', 'yellow' , '200', '0', '200', '400', 'red'] 5 개 요소마다 목록을 분리하고 5 개 요소만으로 새 목록을 만드는 데 어려움이 있습니다. 그러나, 나는 3 개의 다른 명부를 원하지 않는다, 나는 다만 5 개의 성분이 처음부터 끝까지 갈 때마다 변화하는 것을 원한다.

해결법

  1. ==============================

    1.당신은 다음과 같은 것을 원한다.

    당신은 다음과 같은 것을 원한다.

    composite_list = [my_list[x:x+5] for x in range(0, len(my_list),5)]
    
    print (composite_list)
    

    산출:

    [['-200', ' 0', ' 200', ' 400', ' green'], ['0', '0', '200', '400', ' yellow'], ['200', '0', '200', '400', ' red']]
    

    "새로운"5 요소 란 무엇을 의미합니까?

    이 목록에 추가하려면 다음을 수행하십시오.

    composite_list.append(['200', '200', '200', '400', 'bluellow'])
    
  2. ==============================

    2.당신은 한 문장으로 할 수 있습니다.

    당신은 한 문장으로 할 수 있습니다.

    >>> import math
    >>> s = ['-200', ' 0', ' 200', ' 400', ' green', '0', '0', '200', '400', ' yellow', '200', '0', '200', '400', ' red']
    >>> [s[5*i:5*i+5] for i in range(0,math.ceil(len(s)/5))]
    

    출력은 다음과 같아야합니다.

    [['-200', ' 0', ' 200', ' 400', ' green'], ['0', '0', '200', '400', ' yellow'], ['200', '0', '200', '400', ' red']]
    
  3. ==============================

    3.1 개의 새 목록을 만들어야한다고 생각하지만 올바르게 이해하면 각 하위 목록에 5 개의 요소가있는 중첩 목록이 필요합니다.

    1 개의 새 목록을 만들어야한다고 생각하지만 올바르게 이해하면 각 하위 목록에 5 개의 요소가있는 중첩 목록이 필요합니다.

    당신은 다음을 시도 할 수 있습니다 :

    l = ['-200', ' 0', ' 200', ' 400', ' green', '0', '0', '200', '400', ' yellow', '200', '0', '200', '400', ' red']
    
    new = []
    for i in range(0, len(l), 5):
        new.append(l[i : i+5])
    

    이렇게하면 첫 번째 목록 인 'l'과 그룹 5 요소가 함께 새 하위 목록으로 이동합니다. 산출:

    [['-200', ' 0', ' 200', ' 400', ' green'], ['0', '0', '200', '400', ' yellow'], ['200', '0', '200', '400', ' red']]
    

    희망이 도움이

  4. from https://stackoverflow.com/questions/15890743/how-can-you-split-a-list-every-x-elements-and-add-those-x-amount-of-elements-to by cc-by-sa and MIT license