Also Python generators for the lulz. They help one to write extremely memory-efficient programs. Perhaps the memory shortage further helps cement Python in the language popularity charts, vis-à-vis languages that tend to load whole data in memory by default, like R.
If we are talking about R, a lot of people who converted from R continued to operate in the same manner, by loading entire datasets into memory with pandas and numpy.
And if the dataset fits into RAM and you don't want the computer to do anything else, then this is the fastest and best approach.