使用if,elif进行条件字符串格式化

时间:2019-03-20 08:00:39

标签: python string format

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'))

2 个答案:

答案 0 :(得分:0)

问题的作者询问是否可以用字符串格式添加ifif,elif和else。因此,我确实假设作者希望根据某些条件来更改字符串的值,但是由于某些原因,如果要使用elif,则要使用它。

这是我的答案:

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

我个人不喜欢这种情况下的逻辑。

答案 1 :(得分: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