Mizan Institute of Technology
Data Structures
By Seid Issa (PhD in AI)
8/5/2024
List
✓ Lists are used to store multiple items in a single variable.
✓ Lists are one of 4 built-in data types in Python used to store collections of data, the other 3 are Tuple, Sets
and Dictionaries all with different qualities and usage.
✓ Lists are created using square brackets:
Example
thislist = ["apple", "banana", "cherry"]
print(thislist)
✓ List items are ordered, changeable, and allow duplicate values.
✓ List items are indexed, the first item has index [0], the second item has index [1] etc.
✓ When we say that lists are ordered, it means that the items have a defined order, and that order will not
change.
✓ If you add new items to a list, the new items will be placed at the end of the list.
List…
✓ When we say that lists are ordered, it means that the items have a defined order, and that order will
not change.
✓ If you add new items to a list, the new items will be placed at the end of the list.
✓ The list is changeable, meaning that we can change, add, and remove items in a list after it has been
created.
✓ Since lists are indexed, lists can have items with the same value:
Example
Lists allow duplicate values:
thislist = ["apple", "banana", "cherry", "apple", "cherry"]
print(thislist)
List Length
✓ To determine how many items a list has, use the len() function:
Example
Print the number of items in the list:
thislist = ["apple", "banana", "cherry"]
print(len(thislist))
List Items - Data Types
✓ List items can be of any data type: list1 = ["apple", "banana", "cherry"]
Example: String, int and Boolean data types list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]
✓ A list can contain different types
Example list1 = ["abc", 34, True, 40, "male"]
List data type: type()
From Python's perspective, lists are defined as objects with the data type 'list':
Example
mylist = ["apple", "banana", "cherry"]
print(type(mylist))
Access List Items
List items are indexed and you can access them by referring to the index number:
Example thislist = ["apple", "banana", "cherry"]
Print the second item of the list: print(thislist[1])
Note: The first item has index 0
Negative Indexing
✓ Negative indexing means start from the end
✓ -1 refers to the last item, -2 refers to the second last item etc.
thislist = ["apple", "banana", "cherry"]
print(thislist[-1])
Range of Indexes
✓ You can specify a range of indexes by specifying where to start and where to end the range.
✓ When specifying a range, the return value will be a new list with the specified items.
Example
Return the third, fourth, and fifth item:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])
Note: The search will start at index 2 (included) and end at index 5 (not included).
Remember that the first item has index 0.
Accessing List…
✓ By leaving out the start value, the range will start at the first item:
Example
This example returns the items from the beginning to, but NOT including, "kiwi":
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[:4])
✓ By leaving out the end value, the range will go on to the end of the list:
Example
This example returns the items from "cherry" to the end:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:])
Check if Item Exists
✓ To determine if a specified item is present in a list use the in keyword:
Example:
thislist = ["apple", "banana", "cherry"]
if "apple" in thislist:
print("Yes, 'apple' is in the fruits list")
Change List Items
✓ To change the value of a specific item, refer to the index number:
Example
Change the second item: thislist = ["apple", "banana", "cherry"]
thislist[1] = "blackcurrant"
print(thislist)
Change a Range of Item Values
✓ To change the value of items within a specific range, define a list with the new values, and refer to the
range of index numbers where you want to insert the new values:
Example
Change the values "banana" and "cherry" with the values "blackcurrant" and "watermelon":
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "mango"]
thislist[1:3] = ["blackcurrant", "watermelon"]
print(thislist)
✓ If you insert more items than you replace, the new items will be inserted where you specified, and
the remaining items will move accordingly:
thislist = ["apple", "banana", "cherry"]
thislist[1:2] = ["blackcurrant", "watermelon"]
print(thislist)
Note: The length of the list will change when the number of items inserted does not match the
number of items replaced.
✓ If you insert less items than you replace, the new items will be inserted where you specified, and the
remaining items will move accordingly:
Example
Change the second and third value by replacing it with one value:
thislist = ["apple", "banana", "cherry"]
thislist[1:3] = ["watermelon"]
print(thislist)