By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
 444,035 Members | 1,324 Online
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,035 IT Pros & Developers. It's quick & easy.

# 20050111: list basics

 P: n/a # in Python, list can be done this way: a = [0, 1, 2, 'more',4,5,6] print a # list can be joined with plus sign b = a + [4,5,6] print b # list can be extracted by appending a square bracket with index # negative index counts from right. print b[2] print b[-2] # sublist extraction print 'element from 2 to 4 is', a[2:4] # replacing elements can be done like a[2]='two' print '2nd element now is:', a[2] # sequence of elements can be changed by assiging to sublist directly # the length of new list need not match the sublist b[2:4]=['bi','tri','quad','quint', 'sex'] print 'new a is', b # list can be nested a = [3,4,[7,8]] print 'nested list superb!', a # append extra bracket to get element of nested list print a[2][1] # gives 8 ---------------------------------------- # in perl, list is done with paren (). # the at sign in front of variable is necessary. # it tells perl that it is a list. @a = (0,1,2,'three',4,5,6,7,8,9); # perl can't print lists. To show a list content, # load the package Data::Dumper, e.g. use Data::Dumper; print '@a is:', Dumper(\@a); # the backslash in front of @a is to tell Perl # that "get the "address" of the "array" @a". # it is necessary in Dumper because Dumper is # a function that takes a memory address. # see perldoc -t Data::Dumper for the intricacies # of the module. # to join two lists, just enclose them with () @b = (3,4); @c = (@a,@b); print '\@c is', Dumper \@c; # note: this does not create nested list. # to extrat list element, append with [index] # the index can be multiple for multiple elements @b = @a[3,1,5]; print Dumper \@b; # to replace parts, do \$a[3]= 333; print ' is', Dumper \@a; # note the dollar sign. # this tells Perl that this data is a scalar # as opposed to a multiple. # in perl, variable of scalars such as numbers and strings # starts with a dollar sign, while arrays (lists) starts with # a at @ sign. (and harshes/dictionaries starts with %) # all perl variables must start with one of \$,@,%. # one creates nested list by # embedding the memory address into the parent list @a=(1,2,3); @b = (4,5, \@a, 7); print 'nested list is', Dumper \@b; # to extrat element from nested list, \$c = \$b[2]->[1]; print '\$b[2]=>[1] is', \$c; # the syntax of nested lists in perl is quite arty, see # perldoc -t perldata Xah xa*@xahlee.org http://xahlee.org/PageTwo_dir/more.html Jul 18 '05 #1
Share this question for a faster answer!

### This discussion thread is closed

Replies have been disabled for this discussion.

### Similar topics

Browse more Python Questions on Bytes