10,000 records,
basically line 1 doesn't count... I could have put line 2 into line 4 and the rest is viewing fluff.
So ignoring blank lines, imports and putting file names on separate lines... line 4 is an data access module incarnation of a searchcursor(ish). The rest is numpy. You can work with numpy (line 6) or pandas... you can view/use it like a list.
import arcpy
in_tbl = r"c:\somepath\some.gdb\sometable"
d = arcpy.da.TableToNumPyArray(in_tbl, "Age")
d0 = d.view(np.int32)
d0
array([61, 31, 60, 49, 85, 55, 39, ..., 71, 38, 44, 38, 21, 28, 88])
d1 = d0.tolist()
[61, 31, 60, 49, 85, 55, 39, ... huge snip ... , 71, 38, 44, 38, 21, 28, 88]
If you just wanted the first value.. you slice line 4 d[0][0]
out = []
with arcpy.da.SearchCursor(in_tbl, 'Age') as pulllist:
for pull in pulllist:
out.append(pull[0])
out[:10]
[61, 31, 60, 49, 85, 55, 39, 20, 63, 19]
Timings are comparable if things have been called at least once
%timeit arcpy.da.TableToNumPyArray(in_tbl, "Age")
9.38 ms ± 398 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
%%timeit
out = []
with arcpy.da.SearchCursor(in_tbl, 'Age') as pulllist:
for pull in pulllist:
out.append(pull[0])
9.94 ms ± 311 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)