DEV Community

loading...

Charming the Python: Lists

Vicki (she/her)
Vicki was once a manager of aircraft maintenance and is now charming Python. She coded #VetsWhoCode bot & Code Questions bot. When Vicki isn't petting her cat, she’s throwing a ball for her dogs.
Updated on ・2 min read

If coding tutorials with math examples are the bane of your existence, keep reading. This series uses relatable examples like dogs and cats.


Lists

A list is a collection which is ordered and changeable and there may be duplicate items.

Creating a List

# creating a list with a builtin function
list_name = list('list item 1', 'list item 2', 'list item 3')

# creating a list with brackets
another_list_name = ['list item 1', 'list item 2', 'list item 3']

# you can create an empty list like this
list = []
Enter fullscreen mode Exit fullscreen mode

Accessing list items using indexing

cat dog mouse cheese lemon road
0 1 2 3 4 5
-6 -5 -4 -3 -2 -1
things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']

print(things[0])
>>>cat

print(things[-2])
>>>lemon
Enter fullscreen mode Exit fullscreen mode

Changing Lists

Lists are mutable, or modifiable.

Add via Index

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']  # our list
things[0] = 'chair' # adds 'chair' to the beginning of list, at index 0
print(things)  # returns newly modified list
>>>['chair', 'cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']
Enter fullscreen mode Exit fullscreen mode

Add to end

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']  # our list
things.append = 'chair' # adds 'chair' to the end of list
print(things)  # returns newly modified list
>>>['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road', 'chair']
Enter fullscreen mode Exit fullscreen mode

Check

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']  # our list
does_exist = 'banana' in things  # sees if 'banana' is in the list
print(does_exist)
>>>True
does_exist = 'lime' in things  # sees if 'lime' is in the list
print(does_exist)
>>>False
Enter fullscreen mode Exit fullscreen mode

Insert

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']  # our list
things.insert('pie', 1)  # adds 'pie' at index 1
print(things)
>>>'cat', 'pie', 'dog', 'mouse', 'cheese', 'lemon', 'road'
Enter fullscreen mode Exit fullscreen mode

Remove

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']  # our list
things.remove('mouse')  # removes 'mouse', regardless of index
print(things)
>>>'cat', 'dog', 'cheese', 'lemon', 'road'
Enter fullscreen mode Exit fullscreen mode

Pop

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']  # our list
things.pop(-2)  # removes item referenced by index
print(things)
>>>'cat', 'dog', 'mouse', 'cheese', 'road'
Enter fullscreen mode Exit fullscreen mode

Delete

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']  # our list
del things[0]  # deletes item referenced by index
print(things)
>>>'dog', 'mouse', 'cheese', 'lemon', 'road'
Enter fullscreen mode Exit fullscreen mode

Clear

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']  # our list
things.clear()
print(things)  # nothing will show because you've cleared all items from the list
>>>
Enter fullscreen mode Exit fullscreen mode

Joining

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']
more_things = ["table", "book", "blanket"]
new_list = things + more_things  # combines both lists in the order written
print(new_list)
>>>'cat', 'dog', 'mouse', 'cheese', 'lemon', 'road', "table", "book", "blanket"

newer_list = more_things + things
print(newer_list)
>>>"table", "book", "blanket", 'cat', 'dog', 'mouse', 'cheese', 'lemon', 'road'
Enter fullscreen mode Exit fullscreen mode

Counting

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']
print(things.count())
>>>6
Enter fullscreen mode Exit fullscreen mode

Reversing

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']

things.reverse()  # flip the order of the list
print(things)
>>>'road', 'lemon', 'cheese', 'mouse', 'dog', 'cat'
Enter fullscreen mode Exit fullscreen mode

Sorting

things = ['cat', 'dog', 'mouse', 'cheese', 'lemon', 'road']

things.sort()  # alphanumeric order
print(things)
>>>'cat', 'cheese', 'dog', 'lemon', 'mouse', 'road'

things.sort(reverse=True)  # backwards
print(things)
>>>'road', 'mouse', 'lemon', 'dog', 'cheese', 'cat'
Enter fullscreen mode Exit fullscreen mode

Series based on

Discussion (0)