On 2011/10/28 07:38 AM, Praveen Singh wrote:
>>>  splitWord('google',  2)
     ['go',  'og',  'le']

     >>>  splitWord('google',  3)
     ['goo',  'gle']

     >>>  splitWord('apple',  1)
     ['a',  'p',  'p',  'l',  'e']

     >>>  splitWord('apple',  4)
     ['appl',  'e']



def splitWord(word, number):
        length=len(word)
        list1=[]
        x=0
        increment=number                
        while number<=length+increment:
                list1.append(word[x:number])
                x=x+increment

                number=number+increment

        for d in list1:
                if d=='':
                        list1.remove('')
        return list1

I am getting the desired output and this code is working fine..but i think it 
is quite bulky for this small operation.


qus.1-- can you guys suggest me some better solution??
qus 2-- i know writing just a piece of code is not going to help me. i have to 
write efficient code.i want to know how to calculate execution time of my code 
and

         can you guys suggest me some links so that i can learn how to find 
complexity of code??

Thanks in advance...



_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Below [1] is how I would write it, which is simply a re-factoring of your code so it's cleaner and more compact. For calculating execution time you can use the `timeit` module [2] and for more in-depth analysis you can look at `profile` [3] and further to the bare-bones `dis` [4].

[1]
>>> def splitWord(word, number):
...     x = []
...     for y in xrange(0, len(word), number):
...         x.append(word[y:y+number])
...     return x
...
>>> splitWord('google', 1)
['g', 'o', 'o', 'g', 'l', 'e']
>>> splitWord('google', 2)
['go', 'og', 'le']
>>> splitWord('google', 3)
['goo', 'gle']
>>> splitWord('google', 4)
['goog', 'le']
>>> splitWord('google', 5)
['googl', 'e']
>>> splitWord('google', 6)
['google']
>>> splitWord('google', 7)
['google']

[2] http://www.doughellmann.com/PyMOTW/timeit/
[3] http://www.doughellmann.com/PyMOTW/profile/index.html#module-profile
[4] http://www.doughellmann.com/PyMOTW/dis/

--

Christian Witts
Python Developer

//
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to