
The builtin interables bytearray, bytes, enumerate, filter frozenset, map, memoryview, range, reversed, tuple and zip suggest differently.
enumerate, filter, map, range, reversed and zip don't apply because they're not collections, you wouldn't be able to store the result of the computation anywhere. bytes comprehensions would make sense if string comprehensions are added. This leaves us with bytearray, frozenset and memoryview. How often are these used compared to strings, dicts, and lists?
If we were re-designing Python from scratch today, it is quite likely that we would have only generator comprehensions
I don't know about this, but unless everything besides generator expressions get deprecated the current comprehensions are here to stay and string comprehensions would fit perfectly alongside them (this is my opinion).