Solution
You may do modulo 1000:
ids = [335381, 779097, 147786, 951524]
ids = [i%1000 for i in ids] # [381, 97, 786, 524]
Note
Note that 097 as digit is not a valid representation, 97 is right, to see it as 3 digits with a 0-leading you need a string representation
Bench
As there is multiple answer, I'm adding a little timeit scores
import timeit
r = timeit.timeit("[i%1000 for i in ids]", setup="ids = [335381, 779097, 147786, 951524]")
print(str(round(r, 2)) + 'µs, per iteration')
r = timeit.timeit("[int(str(i)[-3:]) for i in ids]", setup="ids = [335381, 779097, 147786, 951524]")
print(str(round(r, 2)) + 'µs, per iteration')
r = timeit.timeit("[int(exp.findall(str(i))[0]) for i in ids]",
setup=r"ids = [335381, 779097, 147786, 951524];import re;exp = re.compile('(\d{3})$')")
print(str(round(r, 2)) + 'µs, per iteration')
Results
0.75µs, per iteration
5.5µs, per iteration # modulo is about 6 times faster
12.86µs, per iteration # modulo is about 15 times faster