if,elif的条件字符串格式

问题描述 投票:-2回答:2

How to implement conditional string formatting?更进一步

基本上:是否可以在格式字符串中添加ifelif .... else

l = ['it', 'en', 'es']

for i in l:
    print('{tit}'.format(tit='Ciao' if i == 'it' elif i == 'en' tit='Hi' else 'Hola'))
python string format
2个回答
0
投票

这些问题的作者询问是否可以在字符串格式化中添加if,elif,else。因此,我假设作者想要根据某些条件更改字符串的值,但是出于某些原因想要使用if,elif,else。

这是我的答案:

t = ['Ciao' if x == 'it' else ('Hi' if x == 'en' else 'Hola') for x in ['it', 'en', 'es']]

我个人不喜欢,如果,elif,其他逻辑在这种情况下。


0
投票

虽然我不推荐它 - 回答这个问题:

无法在格式字符串中使用elif

但是,可以使用嵌套的条件表达式:

l = ['it', 'en', 'es']

for i in l:
    print('{tit}'.format(tit=('Ciao' if i == 'it' else 'Hi' if i == 'en' else 'Hola')))

输出:

Ciao
Hi
Hola

https://docs.python.org/3/reference/expressions.html#conditional-expressions

© www.soinside.com 2019 - 2024. All rights reserved.