Cómo barajar aleatoriamente una baraja de cartas entre los jugadores?

Tengo problemas para usar una función en otra para repartir cartas. Esto es lo que tengo hasta ahora.

import random as rand 

def create(): 
     ranks = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']   
     suites = ['H', 'C', 'D', 'S'] 
     deck = [[r + s] for s in suites for r in ranks]    
     return deck   

def cards_dealt (num_cards, num_players, deck): 
     rand.shuffle(deck) 


print(cards_dealt(5, 3, deck)) 

Entiendo que la función está incompleta. Necesito num_cards para que sea el número de cartas que recibe cada jugador, num_players para que sea el número de jugadores y deck para que sea la lista de cadenas de cartas de la función create (). Por ejemplo, la declaración impresa revelaría las 5 cartas que cada uno de los tres jugadores obtiene del mazo de lista que ha sido barajado. Mi problema es que cada vez que escribo algo dice que el mazo no está definido.