diff --git a/Week02/Week02/weighted_zeynep_sude_bayram.py b/Week02/Week02/weighted_zeynep_sude_bayram.py deleted file mode 100644 index ca1f4956..00000000 --- a/Week02/Week02/weighted_zeynep_sude_bayram.py +++ /dev/null @@ -1,12 +0,0 @@ -import random - -def weighted_srs(data, n, weights, with_replacement=False): - if with_replacement: - return random.choices(data, weights=weights, k=n) - - res, d, w = [], list(data), list(weights) - for _ in range(n): - idx = random.choices(range(len(d)), weights=w, k=1)[0] - res.append(d.pop(idx)) - w.pop(idx) - return res diff --git a/Week02/weighted_zeynep_sude_bayram.py b/Week02/weighted_zeynep_sude_bayram.py new file mode 100644 index 00000000..ce2c17df --- /dev/null +++ b/Week02/weighted_zeynep_sude_bayram.py @@ -0,0 +1,6 @@ +import random + +def weighted_srs(data, n, weights, with_replacement=False): + if with_replacement: + return random.choices(data, weights=weights, k=n) + return random.sample(data, k=n, counts=weights)