GCM = ([519,520,521,522,533],[534,525],[526,527,530,531], [4404])
slice = int(str(df["CGM"][row_count])[:3])
I am looking through a row in a csv file and taking out the number I want. i want the number that starts with the number I have in GCM
. since they represent info I want in other columns. this has working fine with the slice function because all the number i wanted started with 3 digits. now that i need to look for any number that starts with 4404
and later on going to probably need to look for 57052
the slice function no longer work.
is there a way I can, instead of slicing and comparing to list, can take 5 digit number and see if part of it is in list. preferably look for it starting 3 or more same digits. the real point of that part of code is finding out which list in GCM
list the number is. it need to be able to have the number 44042
and know that the part of it a care about is in GCM[3]
, but on the other side do not want it to say that 32519
is in DCM[0]
since I only care about number that start with 519
not ends with it.
ps. I am norwegian and have been learning programming by myself. been some long nights. so something here can be lost in translation.
You can use str.startswith()
to test if a substring is the beginning of another string, then you don't need to slice a particular length.
And you can use any()
to test if any of the strings in a GCM
list matches this way.
GCM = (['519','520','521','522','533'],['534','525'],['526','527','530','531'], ['4404'])
num = '44042'
for i, l in enumerate(GCM):
if any(num.startswith(code) for code in l)
print(f'Found {num} in GCM[{i}]')
break
else:
print(f'{num} not found in GCM')
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.