Making code elegant, clean and optimized
The inelegance lies in the way you're storing your data.  You haven't normalized it, so you have to check multiple places for what should be the same information.
Why are golden albums in a different list?  The fact that you need to check that list too, should be an indication that those two lists should be the same.  Just like the artists, producers, and other information about the album, whether or not it's golden (and indeed, how many times, if I understand golden album status correctly) is an attribute of the data.
You don't spend much time justifying why GoldenAlbum and Album are different types. Without knowing much about the data you're modeling, it's hard to be sure exactly what your data attempts to describe.  So maybe I'm misunderstanding what 'golden' means for an 'album'.  But if you have only one Album object and it has a is_golden attribute, you can avoid continuing to implement checks for both types of album in any code that interacts with the data by album name.