Lesson 4 - Operations on lists

• Modifying a list item

The value of a specific list item can be modified using the index number.

`fruits = ["apple", "banana", "kiwi", "orange", "grape", "cherry"]For example, to change kiwi to melon`
`fruits[2] = "melon"`
`print(fruits)  outputs ["apple", "banana", "melon", "orange"]`

Change a range of list values

If you want to modify series of values, you can do it by using the range index

`fruits = ["apple", "banana", "kiwi", "orange", "grape", "cherry"]For example, to change 3 values in the fruits list i.e  banana, kiwi, orange to melon, berry, peach`
`fruits[1:4] = ["melon", "berry", "peach"]`
`print(fruits)  outputs ["apple", "melon", "berry", "peach", "grape", "cherry" ]In case you want to replace series of values with a single value, then you can do it the following wayfruits = ["apple", "banana", "kiwi", "orange", "grape", "cherry"]fruits[1:4] = ["melon"]print(fruits) outputs ["apple", "melon", "grape", "cherry" ]`

List methods

The following built-in methods can be used to perform various operations on Lists in Python

Using append() method

You can append an item to the end of the list

`fruits = ["apple", "kiwi", "cherry"]fruits. append("orange")print(fruits)  outputs ["apple", "kiwi", "cherry", "orange"]`

Using clear() method

The clear() method empties the list.

fruits.clear()
print(fruits) outputs []
The list remains, but the content is removed

Using copy() method

list copying simply with an assignment operator i.e  list2 = list1 does not work, list2 will only be a reference to list1, and changes made in list1 will automatically also be made in list2.

copy() method allows copy of a list

`fruits1 = ["apple", "kiwi", "cherry"]fruits2 = fruits1.copy()print(fruits2) outputs ["apple", "kiwi", "cherry"]`

Using count() method

It counts the number of times a value appears in the list

fruits = [“orange”,”apple”,”kiwi”,”banana”,”grape”, “apple”]
print(fruits.count(“apple”)) outputs 2

Using extend() method

You can extend a list with another list

`list1 = ["Chicago","New York", "New Jersy"]list2 = ["Dallas", "Austin"]list1.extend(list2)print(list1) outputs ['Chicago', 'New York', 'New Jersy', 'Dallas', 'Austin']`

Using index() method

You can get index of a given element in the list

`cities = ['Chicago', 'New York', 'New Jersy', 'Dallas', 'Austin']cities.index('Dallas')  returns 3`

Using insert() method

You can insert a value in the list at a given index position
`cities = ['Chicago', 'New York', 'New Jersy', 'Dallas', 'Austin']cities.insert(3, "Denver")print(cities) outputs ['Chicago', 'New York', 'New Jersy', 'Denver', 'Dallas', 'Austin']`

Using pop() method

The pop() method returns the last element in the list by default. If you specify index, then it returns the corresponding element

`cities.pop() returns 'Austin'cities.pop(2) returns 'New Jersy'`

Using remove() method

With remove method, you can remove a value in the list

`cities = ['Chicago', 'New York', 'New Jersy', 'Dallas', 'Austin']cities.remove('Chicago')`
`print(cities)  outputs ['New York', 'New Jersy', 'Denver', 'Dallas', 'Austin']`

Using reverse() method

The items in the list are reversed with this method

list1 = [1, 2, 3, 5, 1, 2, 6]
list1.reverse()
print(list1) outputs [6, 2, 1, 5, 3, 2, 1]

Using sort() method

sorts the list elements in ascending order.

cities = [‘Chicago’, ‘New York’, ‘New Jersy’, ‘Dallas’, ‘Austin’]
cities.sort()
print(cities)
[‘Austin’, ‘Chicago’, ‘Dallas’, ‘New Jersy’, ‘New York’]

cities.sort(reverse=True)
print(cities)
[‘New York’, ‘New Jersy’, ‘Denver’, ‘Dallas’, ‘Austin’]

Sort the lists ( Ascending)

You can sort the elements of a list using sort() function
thislist = [90, 50, 165, 84, 23]
thislist.sort()
print(thislist)

The above sort() method sorts the elements in ascending order

Sort the lists ( Descending)

To sort in descending order
thislist = [90, 50, 165, 84, 23]
thislist.sort(reverse=True)
print(thislist)

Reverse order

You can reverse the order of items in a list using reverse() function

fruits = [“apple”, “banana”, “kiwi”, “orange”, “grape”, “cherry”]
furits.reverse()
print(fruits)
[‘cherry’, ‘grape’, ‘orange’, ‘kiwi’, ‘banana’, ‘apple’]