in azure-kusto-ingest/azure/kusto/ingest/_storage_account_set.py [0:0]
def get_ranked_shuffled_accounts(self) -> List[_RankedStorageAccount]:
accounts_by_tier: List[List[_RankedStorageAccount]] = [[] for _ in range(len(self.tiers))]
for account in self.accounts.values():
rank_percentage = account.get_rank() * 100.0
for i in range(len(self.tiers)):
if rank_percentage >= self.tiers[i]:
accounts_by_tier[i].append(account)
break
# Shuffle accounts in each tier
for tier in accounts_by_tier:
random.shuffle(tier)
# Flatten the list
return [item for sublist in accounts_by_tier for item in sublist]