我有以下代码,它工作正常:
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
在理解中使用时,您的else
语句需要与if
语句一起使用,因此您可以像这样修改代码以使其工作
result = '\n'.join(','.join(f'{key}={value}' if key in incl_list else 'ignore' for key, value in record.items()) for record in my_list)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句