Maison >développement back-end >Tutoriel Python >Comment limiter les valeurs dans une plage spécifiée en Python ?

Comment limiter les valeurs dans une plage spécifiée en Python ?

DDD
DDDoriginal
2024-10-17 17:45:02491parcourir

How to Clamp Values within a Specified Range in Python?

Valeurs de serrage dans une plage spécifiée

Problème :

Considérez le code suivant :

<code class="python">new_index = index + offset
if new_index < 0:
    new_index = 0
if new_index >= len(mylist):
    new_index = len(mylist) - 1
return mylist[new_index]</code>

Ce code calcule un nouvel index pour récupérer un élément d'une liste. Cependant, le code est verbeux et manque d'une esthétique pythonique propre.

Question :

Existe-t-il une solution plus concise et pythonique pour limiter les valeurs dans une plage spécifiée ?

Réponse :

Oui, une alternative plus compacte et pythonique existe :

<code class="python">new_index = max(0, min(new_index, len(mylist)-1))</code>

Ce code utilise les fonctions max() et min() pour garantir que le nouvel index se trouve dans les limites de la liste, sans avoir besoin d'instructions conditionnelles verbeuses.

Cette solution est claire et concise, ce qui la rend plus facile à lire et à déboguer. Il adhère également aux meilleures pratiques Pythonic, offrant une implémentation plus idiomatique et élégante.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn