Matching PEP8 style with long one line for loop
How about breaking the lines like this:

patient = [doctor['patient']
           for doctor in doctors
           for section in sections if doctor == section['doctor']]


I find this more readable and it's PEP8 compliant.
I also removed the unnecessary (...) from around the expression,
and renamed doctor to the more intuitive doctors,
and used more meaningful loop variable names.

But the truth is I find it difficult to follow PEP8 always,
even though I really like clean code.
So I usually cheat,
and write a wrapper shell script to check my project and hide some PEP8 violations that I don't really want to follow.
Something like this:

#!/bin/bash

cd $(dirname "$0")

# E121 continuation line indentation is not a multiple of four
# E123 closing bracket does not match indentation of opening bracket's line
# E126 continuation line over-indented for hanging indent
# E128 continuation line under-indented for visual indent
# E501 line too long &gt; 79 characters
pep8 . | grep -v \
    -e E121 \
    -e E123 \
    -e E126 \
    -e E128 \
    -e E501