列表求和,打印出其表达式(简单python)

已知

lis1=[1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110]
#如何打印出这样的式子()
110+55+44+22+20+11+10+5+4+2+1=284

lis1=[1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110]

for i in range(len(lis1)-1, -1 , -1):
    if i == 0:
        print(lis1[0], end='=')
    else:
        print(lis1[i], end='+')
print(sum(lis1))

lis1=[1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110]
print('+'.join([str(x) for x in sorted(lis1,reverse=True)]),'=',sum(lis1),sep='')

其中,sorted函数给lis1重新排序,reverse=True表示从大到小的顺序。如果你只是想要逆序而不要从大到小,那么写lis1[::-1]

一行搞定:

print('+'.join(map(str,reversed(lis1))),'=',sum(lis1),sep='')
lis1=[1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110]
print('+'.join(map(str,lis1[::-1]))+'='+str(sum(lis1)))