|
Description
|
Example
|
List
|
A container data type that stores a
sequence of elements. Unlike strings, lists
are mutable: modification possible.
|
l = [1, 2, 2] print(len(l)) # 3
|
Adding
elements
|
Add elements to a list with (i) append, (ii)
insert, or (iii) list concatenation.
The append operation is very fast.
|
[1, 2, 2].append(4) # [1, 2, 2,4] [1, 2, 4].insert(2,2) # [1, 2, 2, 4] [1, 2, 2] + [4] # [1, 2, 2, 4]
|
Removal
|
Removing an element can be slower.
|
[1, 2, 2, 4].remove(1) # [2, 2, 4]
|
Reversing
|
This reverses the order of list elements.
|
[1, 2, 3].reverse() # [3, 2, 1]
|
Sorting
|
Sorts a list. The computational complexity
of sorting is O(n log n) for n list elements.
|
[2, 4, 2].sort() # [2, 2, 4]
|
Indexing
|
Finds the first occurence of an element in
the list & returns its index. Can be slow as
the whole list is traversed.
|
[2, 2, 4].index(2) # index of element 4 is "0" [2, 2, 4].index(2,1) # index of element 2 after pos 1 is "1"
|
Stack
|
Python lists can be used intuitively as stack
via the two list operations append() and
pop().
|
stack = [3] stack.append(42) # [3, 42] stack.pop() # 42 (stack: [3]) stack.pop() # 3 (stack: [])
|
Set
|
A set is an unordered collection of
elements. Each can exist only once.
|
basket = {'apple', 'eggs', 'banana', 'orange'} same = set(['apple', 'eggs', 'banana', 'orange'])
|
Dictionary
|
The dictionary is a useful data structure for
storing (key, value) pairs.
|
calories = {'apple' : 52, 'banana' : 89, 'choco' : 546}
|
Reading and
writing
elements
|
Read and write elements by specifying the
key within the brackets. Use the keys() and
values() functions to access all keys and
values of the dictionary.
|
print(calories['apple'] < calories['choco']) # True calories['cappu'] = 74 print(calories['banana'] < calories['cappu']) # False print('apple' in calories.keys()) # True print(52 in calories.values()) # True
|
Dictionary
Looping
|
You can loop over the (key, value) pairs of
a dictionary with the items() method.
|
for k, v in calories.items(): print(k) if v > 500 else None # 'chocolate'
|
Membership
operator
|
Check with the ‘in’ keyword whether the
set, list, or dictionary contains an element.
Set containment is faster than list
containment.
|
basket = {'apple', 'eggs', 'banana', 'orange'} print('eggs' in basket} # True print('mushroom' in basket} # False
|
List and Set Comprehens
ion
|
List comprehension is the concise Python
way to create lists. Use brackets plus an
expression, followed by a for clause. Close
with zero or more for or if clauses. Set comprehension is similar to list
comprehension.
|
# List comprehension l = [('Hi ' + x) for x in ['Alice', 'Bob', 'Pete']] print(l) # ['Hi Alice', 'Hi Bob', 'Hi Pete'] l2 = [x * y for x in range(3) for y in range(3) if x>y] print(l2) # [0, 0, 2] # Set comprehension squares = { x**2 for x in [0,2,4] if x < 4 } # {0, 4}
|