-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpython_lab.py
More file actions
114 lines (83 loc) · 3.01 KB
/
Copy pathpython_lab.py
File metadata and controls
114 lines (83 loc) · 3.01 KB
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
## Task 1
minutes_in_week = 7*24*60
## Task 2
remainder_without_mod = 2304811 - (2304811 // 47)*47
## Task 3
divisible_by_3 = ((673+909) % 3) == 0
## Task 4
x = -9
y = 1/2
statement_val = 2**(y+1/2) if x+10<0 else 2**(y-1/2)
## Task 5
first_five_squares = { x**2 for x in {1,2,3,4,5} }
## Task 6
first_five_pows_two = { 2**x for x in {0,1,2,3,4} }
## Task 7: enter in the two new sets
X1 = {1, 2, 3}
Y1 = {2, 5, 7}
## Task 8: enter in the two new sets
X2 = {1, 2, 4}
Y2 = {3, 6, 12}
## Task 9
base = 10
digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
three_digits_set = { a*base**2 + b*base + c for a in digits for b in digits for c in digits }
## Task 10
S = {1, 2, 3, 4}
T = {3, 4, 5, 6}
S_intersect_T = {a for a in S | T if (a in S) and (a in T)}
## Task 11
L_average = sum([20, 10, 15, 75])/len([20, 10, 15, 75]) # average of: [20, 10, 15, 75]
## Task 12
LofL = [[.25, .75, .1], [-1, 0], [4, 4, 4, 4]]
LofL_sum = sum([sum(L) for L in LofL]) # use form: sum([sum(...) ... ])
## Task 13
cartesian_product = [[l, n] for l in ['A','B','C'] for n in [1, 2, 3]] # use form: [ ... {'A','B','C'} ... {1,2,3} ... ]
## Task 14
S = {-4, -2, 1, 2, 5, 0}
zero_sum_list = [(i, j, k) for i in S for j in S for k in S if i+j+k == 0 ]
## Task 15
exclude_zero_list = [(i, j, k) for i in S for j in S for k in S if i+j+k == 0 and (i, j, k) != (0, 0, 0)]
## Task 16
first_of_tuples_list = [(i, j, k) for i in S for j in S for k in S if i+j+k == 0 and (i, j, k) != (0, 0, 0)][0]
## Task 17
L1 = [1, 1] # <-- want len(L1) != len(list(set(L1)))
L2 = [3, 2, 1] # <-- same len(L2) == len(list(set(L2))) but L2 != list(set(L2))
## Task 18
odd_num_list_range = {i for i in range(1, 100, 2)}
## Task 19
L = ['A','B','C','D','E']
range_and_zip = list(zip(list(range(5)), L))
## Task 20
list_sum_zip = [i+j for (i, j) in zip([10, 25, 40], [1, 15, 20])]
## Task 21
dlist = [{'James':'Sean', 'director':'Terence'}, {'James':'Roger', 'director':'Lewis'}, {'James':'Pierce', 'director':'Roger'}]
k = 'James'
value_list = [l[k] for l in dlist]
## Task 22
dlist = [{'Bilbo':'Ian','Frodo':'Elijah'},{'Bilbo':'Martin','Thorin':'Richard'}]
k = 'Bilbo'
value_list_modified_1 = [l[k] if k in l else 'NOT PRESENT' for l in dlist] # <-- Use the same expression here
k = 'Frodo'
value_list_modified_2 = [l[k] if k in l else 'NOT PRESENT' for l in dlist] # <-- as you do here
## Task 23
square_dict = {k:k*k for k in range(100)}
## Task 24
D = {'red','white','blue'}
identity_dict = {k:k for k in D}
## Task 25
base = 10
digits = set(range(10))
representation_dict = {a*base**2+b*base+c:[a, b, c] for a in digits for b in digits for c in digits}
## Task 26
d = {0:1000.0, 1:1200.50, 2:990}
names = ['Larry', 'Curly', 'Moe']
listdict2dict = {names[i]:d[i] if i in d else "NA" for i in range(len(names))}
## Task 27
def nextInts(L): return [L[i]+1 for i in range(len(L))]
## Task 28
def cubes(L): return [L[i]**3 for i in range(len(L))]
## Task 29
def dict2list(dct, keylist): return [dct[k] for k in keylist]
## Task 30
def list2dict(L, keylist): return {keylist[i]:L[i] for i in range(len(keylist))}