Python Disambiguation
List Comprehension
Looking at the below code, write down the final values of A0, A1, …An.
A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))
A1 = range(10)
A2 = sorted([i for i in A1 if i in A0])
A3 = sorted([A0[s] for s in A0])
A4 = [i for i in A1 if i in A3]
A5 = {i:i*i for i in A1}
A6 = [[i,i*i] for i in A1]
Link: problem source.
The trap of lists = [[]] * 5:
>>> lists = [[]] * 5 >>> lists [[], [], [], [], []] >>> lists[0].append(1) >>> lists [[1], [1], [1], [1], [1]] >>> id(lists[2]) 139762852067080 >>> id(lists[3]) 139762852067080
TODO: what’s the root cause?
Print Function
Print with specific number of digits:
print("{:2d}".format(1))
>>> _1
print("{:02d}".format(1))
>>> 01
print("{:02d}".format(1100))
>>> 1100
print("{:.2f}".format(1.5))
>>> 1.50
Relative Import Path
TODO: why and how to solve it?
Link: stackoverflow explanation.