如何为列表中的每个人分配一个号码?

时间:2018-11-03 12:49:13

标签: python

我正在努力考虑一个功能,该功能允许我根据每个人的等级为每个人分配一个数字,例如等级1的人1的编号更高。比其他玩家

 People = ["Tz", "Bs", "Ds", "Kk", "Os", "Vs", "Dn"]

3 个答案:

答案 0 :(得分:1)

您可以使用字典代替列表。我建议您使用from collections import defaultdict。通过这种方式,您甚至可以将一个元组分配给一个键。更重要的是,如果您多次使用相同的键多次传递了不同的值,则会将它们存储在同一键下。

>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
...     d[k].append(v)
...
>>> sorted(d.items())
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]

答案 1 :(得分:0)

您需要为此使用字典。 玩家= {“ Rz”:1,“ As”:2} 格式为{“ player_name”:strength}

答案 2 :(得分:0)

您可以使用字典来解决它,但是还有一种设计模式可以使用第二个列表。

players = ["Rz", "As", "Ts", "Dk", "Ms", "Ss", "Pn"]
strength = [5, 4, 3, 2, 1, 0, 0]

这意味着您可以通过玩家列表中的索引来访问第一位玩家的实力。

players[0]
strenght[0]

这当然需要您将播放器保持在相同的顺序。