def get_ranked_shuffled_accounts()

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]