While I like Dikei's answer for clarity and terseness, I still believe that a good option is simply:
for sublist in mylist:
item = sublist[1]
...
do_stuff(item)
...
do_other_stuff(item)
...
It remains clear, can be expanded to do more easily, and is probably the fastest.
Here are some quick tests - I'm not sure about how accurate they will be thanks to doing nothing in the loop, but they probably give an idea:
python -m timeit -s "mylist = [range(1,8) for _ in range(1,8)]" 'for thing in mylist:' ' item=thing[1]' ' pass'
1000000 loops, best of 3: 1.25 usec per loop
python -m timeit -s "mylist = [range(1,8) for _ in range(1,8)]" 'for thing in (i[1] for i in mylist):' ' pass'
100000 loops, best of 3: 2.37 usec per loop
python -m timeit -s "mylist = [range(1,8) for _ in range(1,8)]" 'for thing in itertools.islice(itertools.chain(*mylist),1,None,len(mylist)):' ' pass'
1000000 loops, best of 3: 2.21 usec per loop
python -m timeit -s "import numpy" -s "mylist = numpy.array([range(1,8) for _ in range(1,8)])" 'for thing in mylist[:,1]:' ' pass'
1000000 loops, best of 3: 1.7 usec per loop
python -m timeit -s "import numpy" -s "mylist = [range(1,8) for _ in range(1,8)]" 'for thing in numpy.array(mylist)[:,1]:' ' pass'
10000 loops, best of 3: 63.8 usec per loop
Note that numpy is fast if once generated, but very slow to generate on demand for a single operation.
On large lists:
python -m timeit -s "mylist = [range(1,100) for _ in range(1,100)]" 'for thing in mylist:' ' item=thing[1]' ' pass'
100000 loops, best of 3: 16.3 usec per loop
python -m timeit -s "mylist = [range(1,100) for _ in range(1,100)]" 'for thing in (i[1] for i in mylist):' ' pass'
10000 loops, best of 3: 27 usec per loop
python -m timeit -s "mylist = [range(1,100) for _ in range(1,100)]" 'for thing in itertools.islice(itertools.chain(*mylist),1,None,len(mylist)):' ' pass'
10000 loops, best of 3: 101 usec per loop
python -m timeit -s "import numpy" -s "mylist = numpy.array([range(1,100) for _ in range(1,100)])" 'for thing in mylist[:,1]:' ' pass'
100000 loops, best of 3: 8.47 usec per loop
python -m timeit -s "import numpy" -s "mylist = [range(1,100) for _ in range(1,100)]" 'for thing in numpy.array(mylist)[:,1]:' ' pass'
100 loops, best of 3: 3.82 msec per loop
Remember that speed should always come second to readability, unless you really need it.