How do you store the edge locations of a cube with python?
You are very close

Can create the list in one fell swoop using list comprehension.  (instead of edge_list.append(tuple(v.co for v in e.verts))  Used a tuple for vert coords as we really don't want to add or remove or sort or..

Python console code, notice don't need to print items as their repr is echoed.

&gt;&gt;&gt; edge_list = [tuple(v.co for v in e.verts) for e in bm.edges]
&gt;&gt;&gt; for verts in edge_list:
...     verts
...    


And result on default cube

(Vector((1.0, 0.9999999403953552, -1.0)), Vector((1.0, -1.0, -1.0)))
(Vector((1.0, 0.9999999403953552, -1.0)), Vector((-0.9999996423721313, 1.0000003576278687, -1.0)))
(Vector((1.0, 0.9999999403953552, -1.0)), Vector((1.0000004768371582, 0.999999463558197, 1.0)))
(Vector((1.0, -1.0, -1.0)), Vector((-1.0000001192092896, -0.9999998211860657, -1.0)))
(Vector((1.0, -1.0, -1.0)), Vector((0.9999993443489075, -1.0000005960464478, 1.0)))
(Vector((-1.0000001192092896, -0.9999998211860657, -1.0)), Vector((-0.9999996423721313, 1.0000003576278687, -1.0)))
(Vector((-1.0000001192092896, -0.9999998211860657, -1.0)), Vector((-1.0000003576278687, -0.9999996423721313, 1.0)))
(Vector((-0.9999996423721313, 1.0000003576278687, -1.0)), Vector((-0.9999999403953552, 1.0, 1.0)))
(Vector((1.0000004768371582, 0.999999463558197, 1.0)), Vector((0.9999993443489075, -1.0000005960464478, 1.0)))
(Vector((1.0000004768371582, 0.999999463558197, 1.0)), Vector((-0.9999999403953552, 1.0, 1.0)))
(Vector((0.9999993443489075, -1.0000005960464478, 1.0)), Vector((-1.0000003576278687, -0.9999996423721313, 1.0)))
(Vector((-1.0000003576278687, -0.9999996423721313, 1.0)), Vector((-0.9999999403953552, 1.0, 1.0)))


Notice these are in local coordinates of the mesh. To convert to globals, ob is the object with mesh as data

global_vert_co = ob.matrix_world @ v.co