Una lista es una colección de valores escalares. Podemos acceder a los elementos de una lista usando índices. El índice comienza con 0 (el índice 0 se refiere al primer elemento de la lista). Usamos operadores de paréntesis y coma para construir una lista. En Perl, las variables escalares comienzan con un símbolo $mientras que las variables de lista comienzan con el símbolo @.
Nota importante: la lista en perl no es una estructura de datos. Son solo algunas subexpresiones/expresiones en código. Por lo general, se asignan a una array.
Perl
#!/usr/bin/perl # Empty List assigned to an array # Note that the expression () is a # list and "empty_list" variable is an # array variable. @empty_list = (); # Note that the expression (1, 2, 3) is a # list and "integer_list" variable is an # array variable. @integer_list = (1, 2, 3);
Las listas son de varios tipos, como se describe a continuación:
- Listas simples: una lista con los mismos tipos de datos se denomina
Ejemplo de lista simple:
Perl
#!/usr/bin/perl # Empty List assigned to an array @empty_list = (); # List of integers @integer_list = (1, 2, 3); # List of strings assigned to an array @string_list = ("Geeks", "for", "Geeks"); print "Empty list: @empty_list\n"; print "Integer list: @integer_list\n"; print "String list: @string_list\n";
- Producción:
Empty list: Integer list: 1 2 3 String list: Geeks for Geeks
- Listas complejas: una lista puede contener varios tipos de datos diferentes. Este tipo de listas se conocen como listas complejas.
Ejemplo :
Perl
#!/usr/bin/perl # List of strings and integers assigned to an array @complex_list = (1, 2, "Geeks", "for", "Geeks"); # printing this List print "Complex List: @complex_list";
- Producción:
Complex List: 1 2 Geeks for Geeks
- Lista plana: una lista puede contener otra lista dentro de ella, pero Perl aplanará la lista interna y los elementos de esta lista se tratarán como los elementos de la lista externa.
Ejemplo :
Perl
#!/usr/bin/perl # Defining Internal list as an array @Internal_list = (5, 6, 7); # Defining External list. @External_list = (1, "Geeks", 3, "For", @Internal_list); # Printing Flattening list print "Printing list within list: @External_list";
- Producción:
Printing list within list: 1 Geeks 3 For 5 6 7
Se puede acceder a los elementos de la lista con el uso de una variable escalar. Al acceder a un elemento de Lista, se usa $, porque se accede a una variable escalar en Perl con el uso del símbolo $.
Ejemplo :
Perl
#!/usr/bin/perl # Defining a list @List = (1, 2, 3, 4, 5); # Accessing list element print "Second element of List is: $List[2]";
Producción:
Second element of List is: 3
Se puede dividir una lista en Perl dando valores de índice separados por comas (,) a otra lista.
Ejemplo:
Perl
#!/usr/bin/perl # Defining 1st List @list1 = (1, "Geeks", 3, "For", 5); # Defining 2nd List @list2 = @list1[1, 2, 4]; # Printing Sliced List print "Sliced List: @list2";
Producción:
Sliced List: Geeks 3 5
El operador de rango en Perl se usa como una forma corta de crear una lista. Cuando se usa con lista, el operador de rango simplifica el proceso de creación de una lista con secuencias contiguas de números y letras. El operador de rango también se puede usar para dividir la lista.
Sintaxis: valorizquierdo..valorderecho
Nota: si el valor izquierdo es mayor que el valor derecho, creará una lista vacía; de lo contrario, asignará valores de forma contigua desde el valor izquierdo hasta el valor derecho.
Ejemplos:
Perl
#!/usr/bin/perl # Defining list with range of a to j @x = ("a".."j"); # Defining list with range of 1 to 15 @y = (1..15); # Defining list with range of A to J @z = ("A".."J"); # Printing these lists print "List with elements from a to j: @x\n"; print "List with elements from 1 to 15: @y\n"; print "List with elements from A to J: @z";
Producción:
List with elements from a to j: a b c d e f g h i j List with elements from 1 to 15: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 List with elements from A to J: A B C D E F G H I J
Combinación de rangos y divisiones:
los operadores de rango y división se pueden combinar para realizar operaciones de división en una lista.
Ejemplo:
Perl
#!/usr/bin/perl # Defining a list of elements @x = ("Geeks", 2, 3, "For", 5); # Use of Range and slice operator @z = @x[2..4]; # Printing the sliced List print "Sliced List: @z";
Producción:
Sliced List: 3 For 5