It just depends on what you want to do and how you want to automate the selection (every nth edge, following a pattern, only edge loops, edge loop segments etc)
To select multiple edges you can use slices:
import maya.cmds as mc
start_edge, end_edge = 1, 40
helix, helix_shape = mc.polyHelix()
mc.select(helix_shape+'.e[%d:%d'] % (start_edge, end_edge), r=True)
From what I´ve just hopefully understood about how they construct the shape for a helix specifically it looks like every edge loop is comprised of sets of edges where their indices are spaced out by n, where n is the number of subdivisions down the axis. So if you wanted to select a line from a given starting edge:
import maya.cmds as mc
import re
selection = mc.ls(sl=True, fl=True)
# Get the shape node of the selection
shape = mc.listRelatives(selection[0], p=True)[0]
# Get the index of the selected edge
start_index = [int(re.findall(r"[\w]+", i)[2]) for i in selection][0]
# Define what we know about the helix
num_edges = 10
axis_subdivisions = 8
edges = [shape+'.e[%d]' % (start_index + (edge_index * axis_subdivisions)) for edge_index in range(num_edges)]
mc.select(edges, r=True)
You kind of need to know a bit about the shape you're querying and how it's constructed etc. As long as you can run through the idea in your head and come up with a way of doing it, you can write an algorithm for it.
However maybe someone else can think of a clever way of doing this on a grander scale or with custom/non default shapes, but I haven't found common patterns between shapes to be able to always select patterns I want regardless of types of shapes/construction. I have seen some pretty neat scripts out there that do things like every nth edge etc so at least that kind of idea is well trodden if you want to go script hunting!