Skip to content

Commit 1e39ffe

Browse files
authored
Refactor weighted_srs function
Refactor weighted_srs function for improved readability.
1 parent 50d21a8 commit 1e39ffe

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

Week02/weighted_ebru_koksal.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import random
22

3-
def weighted_srs(data, n, weights=None, with_replacement=False):
4-
if with_replacement: return random.choices(data, weights=weights, k=n)
5-
result, pool, w = [], list(data), (list(weights) if weights else None)
3+
def weighted_srs(data,n,weights,with_replacement=False):
4+
if with_replacement:return random.choices(data,weights=weights,k=n)
5+
pool=list(data);w=list(weights) if weights else None;res=[]
66
for _ in range(n):
7-
i = random.choices(range(len(pool)), weights=w, k=1)[0] if w else random.randrange(len(pool))
8-
result.append(pool.pop(i))
9-
if w: w.pop(i)
10-
return result
7+
i=random.choices(range(len(pool)),weights=w,k=1)[0] if w else random.randrange(len(pool))
8+
res.append(pool.pop(i))
9+
if w:w.pop(i)
10+
return res

0 commit comments

Comments
 (0)