Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Error in listing a Zip

Until the end of this code all is fine

billes=[ZZ.random_element(0, 4) for i in range(50)]
 billes+=[ZZ.random_element(5, 10) for i in range(80)] 
billes+=[ZZ.random_element(10, 25) for i in range(21)]
    billes+=[ZZ.random_element(25, 50) for i in range(28)]
    billes+=[ZZ.random_element(50, 100) for i in range(28)]
    shuffle(billes)#no necessary here only to confirm
    billes1=sorted(billes)
    binbilles1=[[x for x in billes1 if 0 <= x < 4],[x for x in billes1 if 5 <= x < 10],[x for x in billes1 if 10 <= x < 25],[x for x in 
    billes1 if 25 <= x < 50],[x for x in billes1 if 50 <= x < 100]]
    avbinbilles1=[len(x)^(-1)*sum(x) for x in binbilles1]
    number=[len(x) for x in binbilles1]
    cumsumpop=[sum(number[:i]) for i in range(1, len(number)+1)]
    percumsumpop=[0]+[sum(number[:i])/sum(number) for i in range(1, len(number)+1)]
    cumsumavbinbilles1=[sum(avbinbilles1[:i]) for i in range(1, len(avbinbilles1)+1)]
    percumsumavbinbilles1=[0]+[sum(avbinbilles1[:i])/sum(avbinbilles1) for i in range(1, len(avbinbilles1)+1)]
    #percumbilles1=[0]+[sum(binbilles1[:i])/sum(number) for i in range(1, len(binbilles1)+1)]
    bool(len(percumsumavbinbilles1)==len(percumsumpop))

To plot a Lorenz curve I add

A=list(zip(percumsumavbinbilles1,percumsumpop))

as show by If you meant to plot two lists 'x' and 'y' against each other, use 'list_plot(list(zip(x,y)))' in https://doc.sagemath.org/html/en/reference/plotting/sage/plot/plot.html

But this generate an error 'list' object is not callable. Could somebody explain my mistake?