You are correct that the hex representations of the private keys and public keys are the same.
However, the difference between various cryptocurrency wallets lies in how the private keys and addresses are commonly displayed.
There is a preference for displaying private keys in "wallet import format" (WIF) and addresses in "base58check".
The first digit of these numbers is determined by what's called the "version byte".
For Bitcoin, the WIF version byte is 128 (resulting in WIF keys starting with a "5"), while the address version byte is 0 (resulting in addresses starting with a "1"). For Litecoin, these leading numbers change to "6" and "L", respectively.
Here is a table of version bytes and address prefixes: https://en.bitcoin.it/wiki/List_of_address_prefixes
And if you're interested in python code that can help you generate different types of wallets, without having to worry about version bytes, I'd check out the python library Coinkit (just "pip install coinkit").