http://docs.python.org/library/itertools.html
"combinations()" is a built in. No need to re-implement it. Also, nested [... for ... for ... for] is silly. Just use "product()", documented on the same page.
[''.join(card) for card in product('123', 'RGP', '@O=', 'OSD')]
They say that six months after learning the itertools module, people give up on Python for Lisp. Which would be hilarious, in your case.