Cómo dividir una lista larga en partes en Qore

Pavel Queton

Me gustaría dividir una lista en Qore así:

list a = (1,2,3,4,5,6);
list pieces = split_list_into_pieces(a, 2);
printf("%y\n", pieces);

Salida deseada:

[[1,2], [3,4], [5,6]]

Es decir, quiero tomar una lista (supuestamente larga) y dividirla en partes de la longitud dada (máxima).

Puedo hacerlo como:

list sub split_list_into_pieces(list a, int length)
{
    int i = 0;
    list ret = ();
    list temp = ();
    foreach any x in (a)
    {
        temp += x;
        i++;
        if (i == length)
        {
            push ret, temp;
            temp = ();
            i = 0;
        }
    }
    if (temp)
    {
        push ret, temp;
    }
    return ret;
}

Pero no es muy elegante, ¿verdad?

¿Alguna mejor solución?

Martin Zemek

puedes hacerlo de esta manera:

list sub list_chunk(list a, int length) {
    list result = ();
    while (a)
        push (result, extract (a, 0, length));
    return result;
}

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Cómo dividir una lista en dos partes aleatorias

Dividir una lista en N partes

¿Dividir una lista en partes iguales?

¿Cómo dividir una lista en 2 partes según el porcentaje?

Cómo dividir una matriz en partes iguales en NodeJS

Cómo dividir una matriz en partes iguales en NodeJS

Cómo dividir una cadena en tres partes en JavaScript

¿Cómo dividir una cuerda larga en python?

¿Cómo dividir la lista de matrices en partes iguales?

Dividir la lista en partes

¿Cómo dividir una cadena de texto en partes?

¿Cómo dividir una secuencia en dos partes por predicado?

Dividir una lista en partes determinadas por un separador

Dividir una lista en partes desiguales especificadas por un diccionario

Dividir una imagen en partes

¿Cómo dividir cadenas en una lista?

Cómo dividir una lista en Python

¿Cómo usar awk o sed para dividir un archivo en 2 partes según una lista de valores?

¿Cómo dividir una cadena en una lista en Python?

¿Cómo convertir una lista [Lista [larga]] en una lista [Lista [Int]]?

¿Cómo puedo obtener una lista del estado y modificarla en qore?

Cómo dividir una larga línea de código en varias líneas en VBA

Cómo dividir una larga línea de código en varias líneas en VBA

¿Cómo dividir una línea de código larga en varias líneas en NetLogo?

Cómo dividir una lista en vista en C #

¿Cómo se divide una lista en partes iguales?

¿Cómo dividir una expresión regular larga en varias líneas en JavaScript?

En VIM, ¿cómo puedo dividir una línea realmente larga en varias líneas?

En VIM, ¿cómo puedo dividir una línea realmente larga en varias líneas?