Concatenation - Onelist can be concatenated (appended) at the end of
another as shown below:
Ist = [12, 15, 13, 23, 22, 16, 17]
lst = lst + [33, 44, 55]
print(lst) # prints [12, 15, 13, 23, 22, 16, 17, 33, 44, 55]
Merging-Two lists can be merged to create a new list.
S = [10, 20, 30]
t = [100, 200, 300]
z = s+t
print(z) # prints [10, 20, 30, 100, 200, 300]
Conversion- A string/tuple/set can be converted into a list using the list() conversion
function.
1 = list('Africa") #converts the string to a list ['A', 'f', 'r', ‘i', 'c', 'a‘]
2.
Aliasing - Onassigning one list to another, both refer to the same list. Changing one
changes the other. This assignment is often known as shallow copy or aliasing.
Ist1= [10, 20, 30, 40, 50]
Ist2 = Ist1 # doesn't copy list. Ist2 refers to same list as Ist1
print(Ist1) # prints [10, 20, 30, 40, 50]
print(Ist2 # prints (10, 20, 30, 40, 50]
Ist1[0]=100
print(Ist1[0], Ist2[0]) # prints 100 100
Cloning - This involves copying contents of one list into another. After copying both refer to
different lists, though both contain same values. Changing one list, does not change another.
This operation is often known as deep copy.
Ist = [10, 20, 30, 40, 50]
lst2 = [ ] #empty list
Ist2 = Ist2 + Ist1 #Ist1, Ist2 refer to different lists
print(lst1) # prints [10, 20, 30, 40, 50
print(Ist2) # prints [10, 20, 30, 40, 50]
Ist1[0]=100
print(lst[0], Ist2[0]) # prints 100, 10
3.
Searching - Anelement can be searched in a list using the in membership operator as
shown below:
Ist = ['a', 'e', ‘i', 'o', 'u‘]
res = 'a' in Ist #return True since 'a' is present in list
res = ‘z’ not in Ist #return True since 'z' is absent in list
Identity - Whether the two variables are referring to the same list can be checked using the is identity
operator as shown below:
Ist1 = [10, 20, 30, 40, 50]
Ist2 = [10, 20, 30, 40, 50]
Ist3 = Ist1
print(Ist1 is Ist2) # prints False
print(Ist1 is Ist3) # prints True
print(Ist1 is not Ist2) # prints True
Note the difference for basic types like int or str:
num1 = 10
num2 = 10
s1 = 'Hi‘
s2= 'Hi‘
print(num1 is num2) # prints True
print(s1 is s2) # prints True
4.
Comparison - Itis possible to compare contents of two lists.
Comparison is done item by item till there is a mismatch. In the following code
it would be decided that a is less than b when 3 and 5 are compared.
a = [1, 2, 3, 4]
b = [1, 2, 5]
print(a < b) # prints True
Emptiness - We can check if a list is empty using not operator.
Ist = [ ]
if not Ist : # Ist returns False
print('Empty list')
Alternately, we can convert a list to a bool and check the result.
5.
USING BUILT-IN FUNCTIONSON LISTS
Many built-in functions can be used with lists.
len(lst) #return number of items in the list
max(lst) #return maximum element in the list
min(lst) #return minimum element in the list
Sum(lst) #return sum of all elements in the lists
any(lst) #return True if any elements of lst is True
all(lst) #return True if all elements of lst are True
del( ) #deletes elements or slice or entire list
Sorted(lst) #return sorted list, lst remains unchanged
reversed(lst) #used for reversing lst
Except the last 3 , other functions are self explanatory. sorted( ) and reversed( ) are
discussed below.
6.
del( ) function’susage is shown below:
lst = [10,20,30,40,50]
lst = del(lst[3]) #delete 3rd
item in the list
del(lst[2:5]) #delete items 2 to 4 from the list
del(lst[:]) #delete the entire list
lst = [] #another way to delete an entire list
If multiple variables are referring to same list, then deleting one does not delete the others.
lst = [10,20,30,40,50]
lst3 = lst2=lst1 #all refer to same list
Lst1 = [ ] #lst1 refers to empty list; lst2, lst3 to original list
print(lst2) #prints [10,20,30,40,50]
print(lst3) #prints [10,20,30,40,50]
If multiple variables are referring to same list and we wish to delete all ,we can do so as
shown below:
Lst2[ ] = [ ] #lists is emptied by deleting all items
print(lst2) #prints [ ]
print(lst3) #prints [ ]
7.
• List Methods
Anylist is an object of type list. Its methods can be accessed usingthe syntax
Ist.method( ). Usage of some of the commonly used methods is shown below:
Ist = [12, 15, 13, 23, 22, 1l6, 17] # create list
Ist.append(22) #add new item at end
lst.remove(13) # delete item 13 from list
lst.rermove(30) # reports valueError as 30 is absent in Ist
lst.pop( ) # removes last item in list
Ist.pop(3) # removes 3rd item in the list
Ist.insert(3, 21) # insert 21 at 3rd position
Ist.count(23) # return no. of times 23 appears in lst
idx = Ist.index(22) # return index of item 22
idx = Ist.index(50) #reports valueError as 50 is absent in lst
8.
Sorting and Reversing
Usageof list methods for reversing a list and for sorting is shown below:
Ist = (10, 2, 0, 50, 4)
Ist.reverse( )
print(lst) # prints [4, 50, 0, 2, 10)
Ist.sort( )
print(lst) # prints [0, 2,4, 10, 50)
Ist.sort(reverse =True) #sort items in reverse order
print(lst) # prints (50, 10, 4, 2,0)
Note that reverse( ) and sort( ) do not return a list. Both manipulate the list in place.
Usage of built-in functions for reversing a list and for sorting is shown below: