저는 파이썬 신인이고 키 이름, 가치 점수를 기준으로 플레이어를 3 팀에 배정하는 앱을 만들려고합니다.
내가 그것을하는 방법은 내 기본 사전에서 최대 키, 값 쌍을 가져 와서 다른 사전으로 옮기는 것입니다.
team_1 = {}
team_2 = {}
team_3 = {}
players = {'alex':1, 'ion':2, 'octav':3, 'cristi':4, 'miu':5, 'spiri':6, 'fane':7, 'vali':8, 'grasu':9, 'jhonny':10, 'lil':10}
for key, value in players.items():
if not team_1:
x = max(players.items(), key=lambda p: p[1])
team_1.update(x)
분명히 이것은 효과가 없었습니다.
Traceback (most recent call last):
File "test.py", line 21, in <module>
echipa1.update(x)
ValueError: dictionary update sequence element #0 has length 6; 2 is required
나는 꼭 이렇게 만들고 싶지 않습니다. 여러분 중 누구라도 그것을 다르게 만드는 방법에 대한 아이디어가 있다면, 나는 모든 해입니다.
나는 그것을 교체하여 작동하게했습니다.
x = max(players.items(), key=lambda p: p[1])
team_1.update(x)
와
name, score = max(players.items(), key=lambda p: p[1])
team_1[name] = score
또는, 당신은 대체 할 수 team_1.update(x)
와 함께team_1.update((x,))
이전 솔루션이 더 명확하다고 생각합니다. 후자는 하나의 가능한 입력 update()
이 쌍의 시퀀스 이기 때문에 작동합니다 . x
쌍이므로 올바른 모양이 되려면 순서대로 있어야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다