The new football league season is coming and the Football Association need some help resetting the league standings. Normally the initial league standing is done in alphabetical order (from A to Z) but this year the FA have decided to freshen it up. 

It has been decided that team who finished first last season will begin the next season in first place. Regardless of what letter their club begins with. e.g. if Manchester City were in first place last year, they will begin the season in position one. All other teams should be in alphabetical order. 

The teams will be fed in as an object ({}). The key will be will be their position from last season and the value is the club's name e.g. Arsenal. 

The output should be an object ({}) with the key as the club's starting position for the new season and the value should be club's name e.g. Arsenal.

For example. If in the previous season the standings were:

1:'Leeds United'
2:'Liverpool'
3:'Manchester City'
4:'Coventry'
5:'Arsenal' 

Then the new season standings should 

1:'Leeds United' (first last season)
2:'Arsenal' (alphabetical)
3:'Coventry' (alphabetical) 
4:'Liverpool' (alphabetical) 
5:'Manchester City' (alphabetical)

Source: codewars | Difficulty: EASY

Starter code: def premier_league_standings(teams):
	

Solutions:
def premier_league_standings(teams):
	dct = {1: teams[1]}
	dct.update({i: t for (i, t) in enumerate(sorted(set(teams.values()) - {teams[1]}), 2)})
	return dct


def premier_league_standings(teams):
	order = [teams[1]] + sorted((team for (place, team) in teams.items() if place != 1))
	return {place: team for (place, team) in enumerate(order, 1)}


def premier_league_standings(teams):
	return {c: n for (c, (_, n)) in enumerate(sorted(teams.items(), key=lambda t: (t[0] > 1, t[1])), 1)}


def premier_league_standings(teams):
	return {i: team[1] for (i, team) in enumerate(sorted(teams.items(), key=lambda x: (x[0] != 1, x[1])), 1)}


def premier_league_standings(teams):
	new = [teams[1]] + sorted((teams[n] for n in range(2, len(teams) + 1)))
	return {i: team for (i, team) in enumerate(new, 1)}


def premier_league_standings(teams):
	if len(teams) == 1:
		return teams
	next_season = []
	for (key, value) in list(teams.items()):
		if key != 1:
			next_season.append(value)
	sorted_nex = sorted(next_season)
	sorted_dict = {}
	for (key, value) in enumerate(sorted_nex, 2):
		sorted_dict[1] = teams[1]
		sorted_dict[key] = value
	return sorted_dict


def premier_league_standings(teams):
	ret = {1: teams[1]}
	for (i, name) in enumerate(sorted((teams[i] for i in teams.keys() if i != 1))):
		ret[i + 2] = name
	return ret


def premier_league_standings(teams):
	return {i: v for (i, v) in enumerate([teams[1]] + sorted((v for v in teams.values() if v != teams[1])), 1)}


def premier_league_standings(teams):
	lst = [(x, y) for (x, y) in teams.items()]
	lst = [y for (x, y) in lst if x == 1] + sorted([y for (x, y) in lst if x != 1])
	return {i: y for (i, y) in enumerate(lst, 1)}


def premier_league_standings(teams):
	t = sorted(teams.items(), key=lambda i: str(i[0]) if i[0] == 1 else i[1])
	return {i + 1: t[i][1] for i in range(len(t))}