code Python en une ligne pour la mise en chaîne à 0 chaîne si vide

voix
16

Qu'est-ce qu'un code à une doublure pour définir une chaîne en python à la chaîne, 0 si la chaîne est vide?

# line_parts[0] can be empty
# if so, set a to the string, 0
# one-liner solution should be part of the following line of code if possible
a = line_parts[0] ...
Créé 27/08/2009 à 03:12
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
12
a = '0' if not line_parts[0] else line_parts[0]
Créé 27/08/2009 à 03:15
source utilisateur

voix
62

a = line_parts[0] or "0"

C'est l'un des plus beaux idiomes Python, le rendant facile à fournir des valeurs par défaut. Il est souvent utilisé comme ceci pour les valeurs par défaut des fonctions:

def fn(arg1, arg2=None):
    arg2 = arg2 or ["weird default value"]
Créé 27/08/2009 à 03:16
source utilisateur

voix
0

Si vous souhaitez également prendre en compte les espaces blancs comme emptyet obtenir le dépouillement des résultats de ceux -ci , le code ci - dessous vous aidera,

a = (line_parts[0] and line_parts[0].strip()) or "0"
Créé 27/09/2018 à 08:12
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more