如何在列表理解中添加多个变量

时间:2018-08-25 03:23:03

标签: python list list-comprehension

我在列表理解中有一个if / else子句,想知道如何添加多个变量。

如果使用if / else语句,这是代码:

if start_year == end_year:
    years = [start_year]
else:
    years = [start_year, end_year]

这是我希望它具有列表理解的外观,但是这是不正确的,因为由于逗号分隔,它会在end_year固定。

years = [start_year if start_year == end_year else start_year, end_year]

谢谢!

2 个答案:

答案 0 :(得分:4)

if/else可以合并为1行:

years = [start_year] if start_year == end_year else [start_year, end_year]

请注意,这不是“列表理解”,因为没有for循环。

答案 1 :(得分:0)


from PIL import Image
import numpy as np

    # use PIL.Image to save picture as 'After.png'
    Image.fromarray(im).save('After.png')

    # for download
    file=open('After.png','rb')  
    response =HttpResponse(file)  
    response['Content-Type']='application/octet-stream'  
    response['Content-Disposition']='attachment;filename="After.png"'  
    return response

如您所愿……虽然它像猪一样丑陋。