What is a List in Python?
A list is a data type in Python where you can store multiple values of different data types (including nested lists).
numList = [1, 2, 3, 4, 5] stringList = ["banana", "orange", "apple"] mixedList = [1, "banana", "orange", [5, 6]]
You can access items in a list using their index position. Index positions start from 0 in lists:
stringList = ["banana", "orange", "apple"] print(stringList[1]) # "orange"
another example
li = ['a', 0, 1.234] # ['a', 0, 1.234] li.append(True) # ['a', 0, 1.234, True] li[0] # 'a' li[-1] # True li[1:3] # [0, 1.234] li[2:] # [1.234, True] li[:2] # ['a', 0] li[-3:-1] # [0, 1.234]
li = [1,2,3] li.append(4) print(li) li.pop() print(li) li.pop(0) print(li) # [1, 2, 3, 4] # [1, 2, 3] # [2, 3]
li = [1,2,3] print(3 in li) print(4 in li) # True # False
nested = [1,2,['a','b']] # [1, 2, ['a', 'b']] nested[2] # ['a', 'b'] nested[2][1] # 'b'
How to Sort Lists in Python
You can sort a list in Python using the sort()
method.
The sort()
method allows you to order items in a list. Here’s the syntax:
list.sort(reverse=True|False, key=sortFunction)
By default, you can order strings and numbers in ascending order, without passing an argument to this method:
items = ["orange", "cashew", "banana"] items.sort() # ['banana', 'cashew', 'orange']
For descending order, you can pass the reverse argument:
items = [6, 8, 10, 5, 7, 2] items.sort(reverse=True) # [10, 8, 7, 6, 5, 2]
How to specify a sort function
items = [ { 'name': 'John', 'age': 40 }, { 'name': 'Mike', 'age': 45 }, { 'name': 'Jane', 'age': 33 }, { 'name': 'Asa', 'age': 42 } ] def sortFn(dict): return dict['age'] items.sort(key=sortFn) # [ # {'name': 'Jane', 'age': 33}, # {'name': 'John', 'age': 40}, # {'name': 'Asa', 'age': 42}, # {'name': 'Mike', 'age': 45} # ]
If the reverse
argument is passed as True
here, the sorted dictionaries will be in descending order.
items = ["cow", "elephant", "duck"] def sortFn(value): return len(value) items.sort(key=sortFn, reverse=True) # ['elephant', 'duck', 'cow']