Generating scatter plot from a CSV file
This really isn't bad, in terms of base Python. The only thing that stands out to me is this:

first_row = [row for row in reader(open('genre_scores.csv', 'r'))][0]


Firstly, you aren't closing the file. Always close the file after you're done.

'r' is implicit, so you don't need to write it in the arguments to open.

Also, you're building up an entire list in memory from the CSV file, and then throwing it all away only to use the first row. Instead, you should use something like:

with open('genre_scores.csv') as f:
    csv_reader = reader(f)
    first_row = next(csv_reader)


You also ask:


  I'd like to implement something that makes sure that lst isn't longer than three elements (since four dimensional plots aren't really a thing). The only way I know to do this is assert len(lst) &lt;=3, which gets the job done but it would be nice if it also could raise a useful error message. 


Fairly straightforward, and I'll also assume that the minimum is 2:

if not (2 &lt;= len(lst) &lt;= 3):
    raise ValueError(f'Invalid lst length of {len(lst)}')