On 11/03/2011 12:30 PM, lina wrote:
Hi,

['1AB','57GL', '76LE']

How can I extract 1, 57 , 76 out?

except the one I tried as:

for i in range(len(a)):
        print(a[i][:-2])

        
1
57
76

are there some way to tell the difference between the [0-9] and [A-Z],

In the last thread, somebody else gave you a regular expression that would separate the digits out. I avoid regex'es like the plague, for no good reason, so I can't help with that approach.

You can tell a particular string is all digits by using the isdigit() function. So some sort of while loop will find it. Perhaps (untested):

def getkey(item):
"""find the largest prefix of the given string that is all digits. return the integer so produced"""
    res = "0"
    while(res and (res + item[0]).isdigit():
        res += item[0]
    return int(res, 10)


But your (tiny) sample always has two letters after the digits. Is that the rule? If so, you've got a simple version
def  getkey(item):
     b = item[:-2]
    return int(b)



--

DaveA

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

Reply via email to