Lists - Hsanokklis/2023-2024-Tech-journal GitHub Wiki
The List Data Type
A list is a value that contain multiple values in an ordered sequence. The term list value refers to the list itself not just the values inside of the list value.
This is what a list value looks like:
['cat', 'bat', 'rat', 'elephant']
- A list can be distinguished by
[] - Values inside a list are called items
- items are separated with commas
Example
Say you have the list ['cat','bat','rat','elephant'] stored in the variable spam
- The code
spam[0]would evaluate to'cat'andspam[1]would evaluate to'bat'
The integer inside the brackets that follows the list is called an index. The first value in the list is at index
0, the scond value is at index1, the third value is at index2, and so on.
The expression 'Hello' + spam[0] evaluates to 'Hello' + 'cat'
-
Python will give you an
IndexErrorerror message if you use an index that exceeds the number of values in your list value iespam[100000] -
Indexes can only be integer values and not floats
spam[1.0]will not workspam[1]will work
-
lists can contain other values and the values of the lists can be accessed using multiple indexes
In the example above we use spam[0][1] to access both of the lists values
- the first index indicates which list to use
- the second index indicates the value within the list value
spam[0][1]will printbat
- this means its choosing from the first list and then choosing the first index which is
bat
Negative Indexes
Indexes start at 0, but you can still use negative numbers for the index.
- The index
-1refers to the last index in a list - The index
-2to the second-to-last index in the list and so on
if you return
spam[-1]it will printelephant
Getting Sublists with Slices
A slice can get several values from a list, in the form of a new list.
spam[2]this is an index (one integer)spam[1:4]this is a slice (2 integers)
In a slice
- the first integer is the index where the slice starts.
- The second integer is the index where the slice ends.
A slice goes up to, but will not include the value at the second index. A slice evaluates to a new list values.
as a shortcut you can just leave out one or both of the indexes on either side of the colon in the slice.
- Leaving out the first index is the same as using
0- Leaving out the second index is the same as using the length of the list (or slicing to the end of the list)
Getting a List's Length with len()
The len() function will return the number of values that in a list value passed to it, just like counting the number of characters in a string value.
Changing Values in List with Indexes
Normally a variable name goes on the left side of an assignment statement like spam = 42, however you can use an index of a list to change the value at that index.
Example
spam[1] = 'aardvark'
- means assigns the value at index
1in the the listspamto the stringaardvark.
List Concatenation and List Replication
The + operator can combine two lists to create new list values in the same way it combines two strings into a new string value. The * operator can also be used with a list and an integer value to replicate the list.
Removing Values from Lists with del Statements
The del statement will delete values at an index in a list. All of the values in the list after the deleted value will be moved up one index.