<< Chapter < Page | Chapter >> Page > |
You can replace a slice in a list with the elements from another list through assignment.
Note that this operation can change the length of the original list.
The script in Listing 1 replaces a slice in a list with the elements from another list.
Listing 1 . Replace a slice in a list. |
---|
# Illustrates replacing a slice in a list
##----------------------------------------
print("Create and print a list")listA = [100,200,300,400,500]
print(listA)print("Original length is:")
print(len(listA))print("Replace a slice")
listA[1:4]= [2,4,8,16,32,64]
print("Print the modified list")print(listA)
print("Modified length is:")print(len(listA)) |
This program also illustrates the use of the function named len() to get and print the length of the list.
In this program, a slice of an original five-element list, consisting of the elements from 1 through 3 inclusive, is replaced by the elements of a new listconsisting of six new elements.
Since three existing elements are replaced by six new elements, the overall length of the listis increased by three elements.
The output from this program is shown in Figure 1 .
Figure 1 . Program output. |
---|
Create and print a list
[100, 200, 300, 400, 500]Original length is:
5Replace a slice
Print the modified list[100, 2, 4, 8, 16, 32, 64, 500]
Modified length is:8 |
As you can see in Figure 1 , the six new elements replaced the three original elements to increase the length of the list from 5 to 8 elements.
It is also possible to replace an element in an existing list with a new list, as illustrated by the program in Listing 2 .
In this case, the behavior is different from that shown above where a slice from the original list was replaced with the elements from a different list (even though the right operand of the assignment operator is the same in both cases) .
When a single element is replaced by a list, the result is that a new list is nested inside the original list .
It is also interesting to note that the length of the list is unchanged by this operation since the list that replaces the element is itself considered tobe a single element. Therefore, the number of elements is not changed.
This is illustrated in Listing 2 , where the element at index 2 of an original list is replaced with a new listhaving six elements.
Listing 2 . Replacing an element with a list. |
---|
# Illustrates replacing an
# element with a slice#
#-------------------------------print("Create and print a list")
listA = [100,200,300,400,500]print(listA)
print("Original length is:")print(len(listA))
print("Replace an element")listA[2] = [2,4,8,16,32,64]print("Print the modified list")
print(listA)print("Modified length is:")
print(len(listA)) |
The output from this program is shown in Figure 2 .
Notification Switch
Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?