【发布时间】:2021-03-19 21:21:36
【问题描述】:
我有以下代码,可以正常工作:
incl_list = ['A']
my_list = [{'A': 1, 'B': 'world'}, {'A': 4, 'B': 'hello'}]
result = '\n'.join(','.join(f'{key}={value}' for key, value in record.items() if key in incl_list) for record in my_list)
结果产生:
'A=1\nA=4'
我的问题是为什么我不能像这样添加else 语句:
result = '\n'.join(','.join(f'{key}={value}' for key, value in record.items() if key in incl_list) else 'ignore' for record in my_list)
类似于列表理解?
我得到的错误是:
File "<ipython-input-276-201c8f88ac13>", line 1
result = '\n'.join(','.join(f'{key}={value}' for key, value in record.items() if key in incl_list else 'ignore') for record in my_list)
^
SyntaxError: invalid syntax
【问题讨论】:
-
出现任何错误?
-
你可以使用
a if b else c for d in e,而不是你想要做的任何事情。 -
@zixuan 我已经更新了。
-
@Newskooler 我建议你仔细检查一下。那不是你正在做的事情。
-
@khelwood 你确实是对的。为我的困惑道歉。嵌套如此之多,有时很难跟踪。
标签: python list-comprehension generator-expression