STINNER Victor added the comment:
random.seed(str) uses:
if version == 2 and isinstance(a, (str, bytes, bytearray)):
if isinstance(a, str):
a = a.encode()
a += _sha512(a).digest()
a = int.from_bytes(a, 'big')
Whereas for other types,
New submission from Johnny Dude :
When using a tuple that include a string the results are not consistent when
invoking a new interpreter or process.
For example executing the following on a linux machine will yield different
results:
python3.6 -c 'import random; random.seed(("a", 1)); print(r