Python Forum

Full Version: Reducing code length
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi everyone,

I'm new to python and I'm trying to reduce code length. Is there an efficient way to rewrite this simple code?
Thanks for the help!

Xav

def config_WOpick(lst):
   for k in lst:
       position=0
       if k.startswith('M1CW') or k.startswith('1CW') or k.startswith('CW'):
           for j in k:
               position+=1
               if j=='W':
                   print(k[position:])#insert the renaming action here later on
How about some sample input.
def config_WOpick(lst):
   for k in lst:
       if k.startswith('M1CW') or k.startswith('1CW') or k.startswith('CW'):
           print(k[k.index('W') + 1:]
Note that reducing code length is not the same thing as increasing efficiency.

You might be able to simplify the if statement, depending on what your population of starting strings is.
And startswith() can take a tuple as parameter.
if k.startswith(('M1CW', '1CW', 'CW')):
I'm using a list of string for the input. For example: lst =
['M1CW10006-1','15277782','CW1455778'] etc..

There is more than 100 000 of those kind of string on the list and I take the digits after the letters. I'm just looking to reduce the number of lines of code (to improv my writting efficency as I'm learning)

P.S: Thanks for the tip snippsat!