diff --git a/Week02/weighted_moaaz_alhamoud.py b/Week02/weighted_moaaz_alhamoud.py new file mode 100644 index 00000000..4a7519e2 --- /dev/null +++ b/Week02/weighted_moaaz_alhamoud.py @@ -0,0 +1,10 @@ +import random + +def weighted_srs(data, n, weights, with_replacement): + if with_replacement: + return random.choices(data, weights=weights, k=n) + d, w, s = data[:], weights[:], [] + for _ in range(n): + i = random.choices(range(len(d)), weights=w, k=1)[0] + s.append(d.pop(i)); w.pop(i) + return s