Ask Your Question

Revision history [back]

The method .sort() sorts the list eval_args on place (i mean it modifies the list eval_args), it does not return the sorted eval_args:

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[-2.88140694172,
 2.66782234593,
 -0.206748063577,
 -0.663492557653,
 -1.34361452031,
 -1.67041594451,
 -2.22990648845,
 0.643653522447,
 1.5894324166,
 1.28058620418]
sage: eval_args.sort()
sage: eval_args
[-2.88140694172,
 -2.22990648845,
 -1.67041594451,
 -1.34361452031,
 -0.663492557653,
 -0.206748063577,
 0.643653522447,
 1.28058620418,
 1.5894324166,
 2.66782234593]

The method .sort() sorts the list eval_args on place (i mean it modifies the list eval_args), it does not return the sorted eval_args: (it returns nothing, hence your behaviour):

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[-2.88140694172,
 2.66782234593,
 -0.206748063577,
 -0.663492557653,
 -1.34361452031,
 -1.67041594451,
 -2.22990648845,
 0.643653522447,
 1.5894324166,
 1.28058620418]
sage: eval_args.sort()
sage: eval_args
[-2.88140694172,
 -2.22990648845,
 -1.67041594451,
 -1.34361452031,
 -0.663492557653,
 -0.206748063577,
 0.643653522447,
 1.28058620418,
 1.5894324166,
 2.66782234593]

As you can see, after calling eval_args.sort(), the list eval_args is sorted.

The method .sort() sorts the list eval_args on place (i mean it modifies the list eval_args), it does not return the a sorted copy of eval_args (it returns nothing, hence your behaviour):

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[-2.88140694172,
 2.66782234593,
 -0.206748063577,
 -0.663492557653,
 -1.34361452031,
 -1.67041594451,
 -2.22990648845,
 0.643653522447,
 1.5894324166,
 1.28058620418]
sage: eval_args.sort()
sage: eval_args
[-2.88140694172,
 -2.22990648845,
 -1.67041594451,
 -1.34361452031,
 -0.663492557653,
 -0.206748063577,
 0.643653522447,
 1.28058620418,
 1.5894324166,
 2.66782234593]

As you can see, after calling eval_args.sort(), the list eval_args is sorted.

The method .sort() sorts the list eval_args on place (i mean it modifies the list eval_args), it does not return a sorted copy of eval_args (it returns nothing, hence your behaviour):

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[-2.88140694172,
 2.66782234593,
 -0.206748063577,
 -0.663492557653,
 -1.34361452031,
 -1.67041594451,
 -2.22990648845,
 0.643653522447,
 1.5894324166,
 1.28058620418]
sage: eval_args.sort()
sage: eval_args
[-2.88140694172,
 -2.22990648845,
 -1.67041594451,
 -1.34361452031,
 -0.663492557653,
 -0.206748063577,
 0.643653522447,
 1.28058620418,
 1.5894324166,
 2.66782234593]

As you can see, after calling eval_args.sort(), the list eval_args is sorted.

If you do not want your list eval_args to be modified and get a sorted copy of it, just use th function sorted():

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[1.77315647525,
 2.73584430085,
 0.678473279316,
 1.0691046262,
 -0.229457152027,
 -2.26775012586,
 -2.35863979204,
 -1.30207117624,
 -2.75762912811,
 -0.789539732054]
sage: sorted(eval_args)
[-2.75762912811,
 -2.35863979204,
 -2.26775012586,
 -1.30207117624,
 -0.789539732054,
 -0.229457152027,
 0.678473279316,
 1.0691046262,
 1.77315647525,
 2.73584430085]
sage: eval_args        
[1.77315647525,
 2.73584430085,
 0.678473279316,
 1.0691046262,
 -0.229457152027,
 -2.26775012586,
 -2.35863979204,
 -1.30207117624,
 -2.75762912811,
 -0.789539732054]

As you can see, the list eval_args was not modified by the function sorted().

The method .sort() sorts the list eval_args on place (i mean it modifies the list eval_args), it does not return a sorted copy of eval_args (it returns nothing, hence your behaviour):

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[-2.88140694172,
 2.66782234593,
 -0.206748063577,
 -0.663492557653,
 -1.34361452031,
 -1.67041594451,
 -2.22990648845,
 0.643653522447,
 1.5894324166,
 1.28058620418]
sage: eval_args.sort()
sage: eval_args
[-2.88140694172,
 -2.22990648845,
 -1.67041594451,
 -1.34361452031,
 -0.663492557653,
 -0.206748063577,
 0.643653522447,
 1.28058620418,
 1.5894324166,
 2.66782234593]

As you can see, after calling eval_args.sort(), the list eval_args is sorted.

If you do not want your list eval_args to be modified and get a sorted copy of it, just use th the function sorted():

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[1.77315647525,
 2.73584430085,
 0.678473279316,
 1.0691046262,
 -0.229457152027,
 -2.26775012586,
 -2.35863979204,
 -1.30207117624,
 -2.75762912811,
 -0.789539732054]
sage: sorted(eval_args)
[-2.75762912811,
 -2.35863979204,
 -2.26775012586,
 -1.30207117624,
 -0.789539732054,
 -0.229457152027,
 0.678473279316,
 1.0691046262,
 1.77315647525,
 2.73584430085]
sage: eval_args        
[1.77315647525,
 2.73584430085,
 0.678473279316,
 1.0691046262,
 -0.229457152027,
 -2.26775012586,
 -2.35863979204,
 -1.30207117624,
 -2.75762912811,
 -0.789539732054]

As you can see, the list eval_args was not modified by the function sorted().

The method .sort() sorts the list eval_args on place (i mean it modifies the list eval_args), it does not return a sorted copy of eval_args (it returns nothing, hence your behaviour):

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[-2.88140694172,
 2.66782234593,
 -0.206748063577,
 -0.663492557653,
 -1.34361452031,
 -1.67041594451,
 -2.22990648845,
 0.643653522447,
 1.5894324166,
 1.28058620418]
sage: eval_args.sort()
sage: eval_args
[-2.88140694172,
 -2.22990648845,
 -1.67041594451,
 -1.34361452031,
 -0.663492557653,
 -0.206748063577,
 0.643653522447,
 1.28058620418,
 1.5894324166,
 2.66782234593]

As you can see, after calling eval_args.sort(), the list eval_args is sorted.

If you do not want your list eval_args to be modified and get a sorted copy of it, just use the function sorted():

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[1.77315647525,
 2.73584430085,
 0.678473279316,
 1.0691046262,
 -0.229457152027,
 -2.26775012586,
 -2.35863979204,
 -1.30207117624,
 -2.75762912811,
 -0.789539732054]
sage: sorted(eval_args)
[-2.75762912811,
 -2.35863979204,
 -2.26775012586,
 -1.30207117624,
 -0.789539732054,
 -0.229457152027,
 0.678473279316,
 1.0691046262,
 1.77315647525,
 2.73584430085]
sage: eval_args        
[1.77315647525,
 2.73584430085,
 0.678473279316,
 1.0691046262,
 -0.229457152027,
 -2.26775012586,
 -2.35863979204,
 -1.30207117624,
 -2.75762912811,
 -0.789539732054]

As you can see, the list eval_args was not modified by the function sorted().

. Unfortunately, there is no .sorted() method.

The method .sort() sorts the list eval_args on place (i mean it modifies the list eval_args), it does not return a sorted copy of eval_args (it returns nothing, hence your behaviour):

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[-2.88140694172,
 2.66782234593,
 -0.206748063577,
 -0.663492557653,
 -1.34361452031,
 -1.67041594451,
 -2.22990648845,
 0.643653522447,
 1.5894324166,
 1.28058620418]
sage: eval_args.sort()
sage: eval_args
[-2.88140694172,
 -2.22990648845,
 -1.67041594451,
 -1.34361452031,
 -0.663492557653,
 -0.206748063577,
 0.643653522447,
 1.28058620418,
 1.5894324166,
 2.66782234593]

As you can see, after calling eval_args.sort(), the list eval_args is sorted.

If you do not want your list eval_args to be modified and get a sorted copy of it, just use the function sorted():

sage: evals = Mat(CDF,10).random_element().eigenvalues()
sage: eval_args = map(arg, evals)
sage: eval_args
[1.77315647525,
 2.73584430085,
 0.678473279316,
 1.0691046262,
 -0.229457152027,
 -2.26775012586,
 -2.35863979204,
 -1.30207117624,
 -2.75762912811,
 -0.789539732054]
sage: sorted(eval_args)
[-2.75762912811,
 -2.35863979204,
 -2.26775012586,
 -1.30207117624,
 -0.789539732054,
 -0.229457152027,
 0.678473279316,
 1.0691046262,
 1.77315647525,
 2.73584430085]
sage: eval_args        
[1.77315647525,
 2.73584430085,
 0.678473279316,
 1.0691046262,
 -0.229457152027,
 -2.26775012586,
 -2.35863979204,
 -1.30207117624,
 -2.75762912811,
 -0.789539732054]

As you can see, the list eval_args was not modified by the function sorted(). Unfortunately, there is no .sorted() method.

method for lists.