比How to implement conditional string formatting?多了
基本上:是否可以用格式字符串添加if
,elif
.... else
?
l = ['it', 'en', 'es']
for i in l:
print('{tit}'.format(tit='Ciao' if i == 'it' elif i == 'en' tit='Hi' else 'Hola'))
答案 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