forked from joeyajames/UsefulUtensils
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Python Review Guide.txt
144 lines (134 loc) · 4.5 KB
/
Python Review Guide.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
SEQUENCE (String, List, Tuple)
------------------------------------------
indexing: x[6]
slicing: x[first:last+1:step]
slicing does not change x; it returns a new list of the sliced items.
x='computer'
x[1:4] omp
x[1:6:2] opt
x[3:] puter
x[:5] compu
x[-1] r
x[-3:] ter
x[:-2] comput
adding/concatenating: +
multiplying: *
checking membership: in/not in. also works to check for substrings
if value in x:
if "dog" not in x:
iterating:
for i in x: # iterate items
for i in range(0,len(x)) # iterate index
for index, item in enumerate(x): # iterate index & items
len(x)
min(x)
max(x)
sum(x) # sum, if all numeric values
sum(x[1:3]]) # sum of items with indexes 1 and 2
sorted(x) # does not change x. returns new sorted list
x.count(item) # frequency of a value or item
x.index(item) # returns index of first instance of item
LIST
------------------------------------------
a = list() # new empty list
a = [1, 2, 3] # new list with 3 integers
a = list(tuple1) # new list from tuple
a = [x*2 for x in range(1, 11)] # new list with even ints 2-20
a.append(obj) # add to end of list
a.insert(item, index) # insert item at index
a.extend(listb) # append listb to a
del(a[i]) # remove item at index i
item = a.pop() # pop last item
item = a.pop(index) # pop item at index
a.sort() # in-place sort
a.reverse() # reverses the order of the list
i = a.index(value) # get index of first match
n = a.count(value) # frequency of a value
str = "".join(a) # joins list items into a string
len, min, max, sum, count, index # see SEQUENCE
for loop # see iterating a SEQUENCE
check membership # see checking membership in a SEQUENCE
TUPLE
------------------------------------------
items are immutable (except lists within a tuple). cannot add or delete items.
t = () # new empty tuple
t = tuple(list1) # new tuple from list
t = (1, 5, 'bat') # new tuple with 3 items
t = (22, ) # new single-item tuple
a = t[2:4] # new list x with items 2 and 3
t = t1 + t2 # concatenate two tuples
len, min, max, sum, count, index # see SEQUENCE
for loop # see iterating a SEQUENCE
check membership # see checking membership in a SEQUENCE
SET
------------------------------------------
not sortable. not indexable. no duplicate items allowed.
s = set() # empty set
s = {3,5,3,5} # {5, 3} strips duplicates
s = set(list1) # new set from list1, strips duplicates
len(s)
if item in s: # test membership
s.add(item)
s.remove(item)
s.pop() # pop random item from s
s.clear() # delete all items
s1 & s2 # AND/INTERSECT of 2 sets
s1 | s2 # OR/UNION of 2 sets
s1 ^ s2 # XOR of 2 sets
DICTIONARY
------------------------------------------
key-value pairs. random order. not sortable. no duplicate keys.
3 ways to make a new dictionary:
d = {'A':5, 'B':8, 'C':4}
d = dict([('A', 5),('B', 8),('C', 4)])
d = dict(A=5, B=8, C=4)
d['B'] = 6 # add or change item B
del d['B'] # delete item B
len(d)
if item in d: # check membership in keys
if item in d.values: # check membership in values
d.clear() # delete all items
d.keys() # returns new list of keys
d.values() # returns new list of values
d.items() # returns list of key-value tuple pairs in d
Iterating a dictionary:
for key in d:
for key,value in d.items()
QUEUE
------------------------------------------
implement using a list.
practical for small queue only. pop will be slow for large queues.
q = list()
q.append(obj) # push to end of queue
q.pop(0) # pop from front of queue
STACK
------------------------------------------
implement using a list. append adds to end of list. pop removes from end of list.
s = list()
s.append(obj) # push to top of stack
obj = s.pop() # pop from top of stack
INHERITANCE
------------------------------------------
class Polygon:
def __init__(self, id):
self.id = id
class Rectangle(Polygon):
def __init__(self, id, width, height):
super().__init__(id)
self.shape = (width, height)
STRING OPERATIONS
------------------------------------------
len, min, max, sum, count, index # see SEQUENCE
substrings # see slicing a SEQUENCE
for loop # see iterating a SEQUENCE
check membership # see checking membership in a SEQUENCE
FILE OPERATIONS
------------------------------------------
with open("inputFile.txt") as f1:
for line in f1: # iterate file, line is a string
with open("outputFile.txt", 'a') as f2: # open in append mode
f2.write("my data" + "\n")
ITERATOR
------------------------------------------
i = iter(myList)
item = i.next()