Имхо навряд ли это с ним связано потому что при списке всё ок. Со словарём может быть проблема если последующий ключ равен предыдущему, тогда он его перезаписывает.
[(user.email,user.name) for user in (jane, joe)]
Out[26]: [('jdoe@example.com', 'Jane Doe'), ('jdoe@example.com', 'Joe Doe')]
[(user,user.name) for user in (jane, joe)]
Out[33]:
[(<__main__.User at 0x1614587a390>, 'Jane Doe'),
(<__main__.User at 0x1614587a1d0>, 'Joe Doe')]
UPD
но
{joe:joe.name, jane:jane.name}
Out[46]: {<__main__.User at 0x1614587a1d0>: 'Jane Doe'}