<< Chapter < Page Chapter >> Page >

Program output

The output from this program is shown in Figure 1 .

Figure 1 . Program output.
Print index value 2 A stringPrint a short slice [3.14, 59, 'A string']Print the entire list [3.14, 59, 'A string', 1024]

Visualize sliced lists

Create new lists by slicing an existing list

Figure 2 shows the output from the code visualizer for code similar to the code in Listing 4 . Instead of accessing the list elements and printing them on the fly as in Listing 4 , the code in Figure 2 accesses the list elements and saves references to them so that we can see what the resulting lists look like.

Figure 2. Visualize sliced lists.

Visualize sliced lists.

The diagram on the right in Figure 2 shows the state of the program in memory following the execution of all the code in the code box on the left. Asyou can see, there are now three separate lists:

  • the original list pointed to by the variable named theList and
  • two new lists pointed to by bList and cList .

The two new lists were created by slicing the original list. The elements in the lists allpoint to the float , int , and str objects that were used to populate the original list.

Figure 2 illustrates a very important concept. Three of the variables shown in the light blue box point to objects of type list. Theelements that populate those list objects point to other objects of the types float , int , and str (This concept is often called indirection.)

Since the two bottom lists were created as slices of the original (top) list, they all point to the same objects at this stage in the execution of theprogram.

Change an item in the original list

Figure 3 shows what happens when one of the elements of the original list object is modified to cause it to point to a different object. (Note the arrow that now points from element 2 in the original list object down the screen to a new str object containing the word "changed" .)

Figure 3. Change an item in the original list.

Change an item in the original list.

The important thing to note here is that the pointers in element 2 in the other twolist objects did not follow suite. In other words, they still point to the original str object containing the words "A string" and they do not point to the new str object containing the word "changed" . Thus, even though the two new list objects werecreated as slices from the original list object, once they are created, they are not dependent on thecontents of the original list object. Subsequent changes in the contents of the original list object are not reflected in the contents of the two newlist objects.

Lists can be concatenated

Lists can be concatenated using the + operator.

A concatenation program

The Python program shown in Listing 5 creates two lists and prints them both. Then it concatenates the two lists and prints the concatenated version.

Listing 5 . Lists can be concatenated.
# Illustrates concatenating lists ##------------------------------- print("Create two lists")listA = [3.14,59,"A string",1024] listB = [2,4,6,16]print("Print listA") print(listA)print("Print listB") print(listB)print("Concatenate the lists") listC = listA + listBprint("Print concatenated list") print(listC)

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask