Le canton n° 20 (Maringues) comprend les communes suivantes : Bas-et-Lezat, Beaumont-lès-Randan, Charnat, Châteldon, Lachaux, Limons, Luzillat, Maringues, Mons, Noalhat, Paslières, Puy-Guillaume, Randan, Ris, Saint-André-le-Coq, Saint-Clément-de-Régnat, Saint-Denis-Combarnazat, Saint-Priest-Bramefant, Saint-Sylvestre-Pragoulin, Villeneuve-les-Cerfs.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune de Maringues.