Perl 列表函数
Perl中的列表是一个标量值的集合。我们可以使用索引来访问列表中的元素。索引从0开始(第0个索引指的是列表中的第一个元素)。我们使用小括号和逗号运算符来构造一个列表。在Perl中,标量变量以$符号开始,而列表变量则以@符号开始。
列表提供了各种预定义的函数来轻松地执行操作。其中一些函数如下。
- join() 函数
join()函数用于将List中的元素组合成一个单一的字符串,使用提供的分隔符来分隔每个元素。这个函数返回连接的字符串。分隔符只能在元素对之间起作用。分隔符不能放置在字符串的两端。为了在没有分隔符的情况下连接字符串,需要向该函数传递一个空参数。
语法: join(Separator, List)
参数:
- Separator:在连接时提供了分隔每个元素的功能。
- List:将被转换为单个字符串。
返回:一个连接的字符串
示例 :
#!/usr/bin/perl
# Initializing list with alphabets A to Z
@list = (A..Z);
# Printing the original list
print "List: @list\n";
# Using join function introducing
# hyphen between each alphabets
print "\nString after join operation:\n";
print join("-", @list);
输出:
List: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
String after join operation:
A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z
- reverse() 函数
Perl中的Reverse()函数在列表环境中以相反的顺序返回List中的元素。而在标量上下文中,它返回List值的连接字符串,所有字符的顺序相反。它在标量上下文中返回字符串,在列表上下文中返回列表。
语法:reverse List
参数:
List:要反转的列表
返回:元素的反向顺序
示例:
# Initializing a list
@list = ("Raj", "E123", 12000);
# Reversing the list
@rname = reverse(@list);
# Printing the reversed list
print "Reversed list is @rname";
# Initializing a scalar
string = "GeeksforGeeks";
# Reversing a scalarr = reverse(string);
print "\nReversed string isr";
输出:
Reversed list is 12000 E123 Raj
Reversed string is skeeGrofskeeG
- map() 函数
Perl中的map()函数为List中的每个元素评估作为参数提供的运算符。对于每个迭代,$_持有当前元素的值,它也可以被赋值以允许元素的值被更新。 map()函数对数组的每个元素运行一个表达式,并返回一个带有更新结果的新数组。它在标量上下文中返回生成的元素总数,在列表上下文中返回值的列表。
语法: map(operation, List)
参数:
operation:对列表元素进行操作
List:其元素需要被改变
示例 :
# Initializing a list
@Dept = ('comp', 'inft', 'extc', 'mech');
# Converting first character capital
@upd1 = map(ucfirst, @Dept);
# Printing list
print "List with First char capital: ";
foreach i (@upd1)
{
print "i, ";
}
# Converting all characters capital
@upd2 = map(uc, @Dept);
# Printing list
print "\nList with all char capital: ";
foreach i (@upd2)
{
print "i, ";
}
输出:
List with First char capital: Comp, Inft, Extc, Mech,
List with all char capital: COMP, INFT, EXTC, MECH,
- sort() 函数
Perl中的sort()函数用于根据函数指定的排序条件来排列List。如果没有指定条件,那么它将按照正常的字母顺序进行排序。
如果指定了一个条件,那么该函数将根据条件对List进行排序。
语法: sort(condition, List)
示例
# Initializing two lists
@country = ('India', 'Qatar', 'Bangladesh', 'France', 'Italy');
@capital = ('Delhi', 'Lahore', 'Dhaka', 'Paris', 'Rome');
# Printing countries in sorted order
print"Countries in sorted order: \n";
print sort @country;
print "\n";
# Printing sorted country and capital values
print "\nCombining both the lists in sorted order:\n";
print sort @country, @capital;
print "\n";
# Initializing a list with number
@list = (19, 4, 54, 33, 99, 2);
# Sorting in descending order
@s = sort{b <=>a} @list;
print "\nPrinting numbers in sorted order:\n";
foreach i(@s)
{
print "i, ";
}
输出:
Countries in sorted order:
BangladeshFranceIndiaItalyQatar
Combining both the lists in sorted order:
BangladeshDelhiDhakaFranceIndiaItalyLahoreParisQatarRome
Printing numbers in sorted order:
99, 54, 33, 19, 4, 2,