London is priced as it is because from this year or next, I forget which, it has no government money. All running costs must come from fares and advertising. Prices have changed accordingly.
Unlike roads which are entirely funded by government. So a comparison is always going to make "public transport" (ironic considering it's the transport not receiving public funds) look more expensive.
Ironically in London the trunk road network maintenance will be paid out of TfLs public transport fare budget, as TfL has a legal duty to maintain the major roads in London but has no government operating grant. Hopefully this will be resolved soon!
Unlike roads which are entirely funded by government. So a comparison is always going to make "public transport" (ironic considering it's the transport not receiving public funds) look more expensive.