我正在处理一个函数,在一个变量中,我需要一个值而不是列表。
我使用了以下
value = project_list[0] if pathname=='/london' else project_list[1] if pathname=='/frankfurt'
但是我得到了SyntaxError
,我应该做些什么不同的事情呢?
我建议您多行编写,以提高可读性。
...
if pathname == '/london':
value = project_list[0]
elif pathname == '/frankfurt':
value = project_list[1]
...
如果你仍然希望它是单行的,你可以这样做(由黑色格式化(:
value = (
project_list[0]
if pathname == "/london"
else project_list[1]
if pathname == "/frankfurt"
else something
)
示例:
pathname = '/london'
project_list = ['zero', 'first', 'second']
value = (
project_list[0]
if pathname == "/london"
else project_list[1]
if pathname == "/frankfurt"
else project_list[2]
)
print(value)
输出->zero
使用如下字典-这比嵌套条件更可读
value = {'/london' : project_list[0], '/franckfurt' : project_list[1]}.get(pathname)
您可以再添加一个来完成该语句。
project_list = ['X', 'Y']
pathname = '/london'
value = project_list[0] if pathname=='/london' else project_list[1] if (pathname=='/frankfurt') else ''
print(value)