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)

Difficulty: introductory

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))}