I'd like to add that the fact that single tickets are [sometimes too] expensive in some cases is due to the approach of billing by geographic zones, which has its own up- and downsides.
For example: If I want to go from somewhere around Lake Zurich to Zurich, I have to pay to "travel in every geographical zone" between me and Zurich. However, this also allows me to travel freely in these zones.
In addition to that, if you pay for a return trip (which most people usually do), you automatically pay for travelling freely in these zones in any direction for a full 24 hours.
So assuming a half-fare card, I pay CHF 3.20 to take the bus 500m and back, which is ridiculously expensive for that distance, however, I "only" pay CHF 12.90 for riding all forms of PT (train, bus, ship, etc.) between me and Zurich, including the whole city for a full day, which is relatively reasonable for Zurich standards.