I dont know how to make a rect stand on another rect in pygame
You need to change the player's position instead of the block's position and you also need to set the player's y
attribute:
self.player_rect.x = round(self.x)
self.player_rect.y = round(self.y)
for tile in self.tile_list:
if self.player_rect.colliderect(tile[1]):
self.player_rect.bottom = tile[1].top
self.y = self.player_rect.y