"Christopher Spears" <[EMAIL PROTECTED]> wrote
ordered_list = sorted(unordered_list)

test_frame_1 = ordered_list[0].split('.')[1]
test_frame_2 = ordered_list[1].split('.')[1]

if test_frame_1 == "0000":
   if test_frame_2 =! "0001":
       print "Sequence needs to be renumbered"
for frame in ordered_list:
    new_frame = renumber_frame(frame)
    print new_frame
elif test_frame_1 != "0001"
   print "Sequence needs to be renumbered"
   for frame in ordered_list:
    new_frame = renumber_frame(frame)
    print new_frame
else:
   print "Sequence is fine"

You can change the test sequence to avoid the code duplication

if tf1 == '0000' and tf2 == '0001':
   print 'sequence fine'
else
   print 'renumber sequence'
   for frame in ....etc

As you can see, the only part I haven't figured out is the actual renumbering. Can't figure out how to do the following:
0017 convert to -> 0001

Instead of splitting and reconstructing you could use a regex to locate the number section and usere.sub() to replace the old number with the new sequence number

Not sure if that would be any faster but it might be more concise.


--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to