472,127 Members | 1,456 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,127 software developers and data experts.

Confused about a list.sort()

I have a list of numbers... actully I have two lists, List 1 is a list of
number strings and List2 is one of numbers.

List 1 example:
List1 = [ '20040124123000', '20040124123001', '20040125012456']

List 2 example:
List2 = [ 20040124123000L, 20040124123001L, '20040125012456L]

When I try either:
List1 = List1.sort ... or
List2 = List2.sirt

and then...
print List1... or
print List2

I get None.

Why is this?
How do I remedy this problem?
Jul 18 '05 #1
5 1477

"Amy G" <am*******@cox.net> wrote in message
news:S6FRb.2098$P17.1139@fed1read03...
I have a list of numbers... actully I have two lists, List 1 is a list of
number strings and List2 is one of numbers.

List 1 example:
List1 = [ '20040124123000', '20040124123001', '20040125012456']

List 2 example:
List2 = [ 20040124123000L, 20040124123001L, '20040125012456L]

When I try either:
List1 = List1.sort ... or
List2 = List2.sirt

and then...
print List1... or
print List2

I get None.

Why is this?
How do I remedy this problem?


Read the library reference manual on builtin objects - sequences - lists -
methods.

Seriously.

TJR


Jul 18 '05 #2
list.sort() sorts the list in-place; it doesn't return a new list.
Instead of "List1 = List1.sort()" just do "List1.sort()".

See the FAQ entry:
http://www.python.org/doc/faq/genera...he-sorted-list

-- David Goodger
Jul 18 '05 #3
On Tue, 27 Jan 2004 18:28:09 -0800, "Amy G" <am*******@cox.net> wrote:
I have a list of numbers... actully I have two lists, List 1 is a list of
number strings and List2 is one of numbers.

List 1 example:
List1 = [ '20040124123000', '20040124123001', '20040125012456']

List 2 example:
List2 = [ 20040124123000L, 20040124123001L, '20040125012456L]

When I try either:
List1 = List1.sort ... or
List2 = List2.sirt

and then...
print List1... or
print List2

I get None.

Why is this?


Yeah, most everyone who uses sort() for the first time gets bit by this.

Sort() sorts the list in place, and returns None:
list1=[20, 40, 60, 80, 10, 30, 50]
list1 [20, 40, 60, 80, 10, 30, 50] list1.sort()
list1

[10, 20, 30, 40, 50, 60, 80]

So, to sort list1, you just use list1.sort(), not foo = list1.sort()
Jul 18 '05 #4
Amy,
Switch from windoze to linux and provide screen dumps.

wes@linux:~> python
Python 2.3.3c1 (#3, Dec 26 2003, 16:36:50)
[GCC 3.3.1 (SuSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
list = [3,9,2]
list.sort()
list
[2, 3, 9]

Amy G wrote: I have a list of numbers... actully I have two lists, List 1 is a list of
number strings and List2 is one of numbers.

List 1 example:
List1 = [ '20040124123000', '20040124123001', '20040125012456']

List 2 example:
List2 = [ 20040124123000L, 20040124123001L, '20040125012456L]

When I try either:
List1 = List1.sort ... or
List2 = List2.sirt

and then...
print List1... or
print List2

I get None.

Why is this?
How do I remedy this problem?


Jul 18 '05 #5
On Wed, 28 Jan 2004 15:22:05 GMT, wes weston <ww*****@att.net> wrote:
Switch from windoze to linux and provide screen dumps.


I don't understand part of your comment. Windows can provide screen
dumps also. That's not a reason to switch. :-)
--dang
Jul 18 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

11 posts views Thread by velthuijsen | last post: by
13 posts views Thread by agentxx04 | last post: by
2 posts views Thread by Daniel | last post: by
12 posts views Thread by aparnakakkar2003 | last post: by
36 posts views Thread by pereges | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.