如何在Python中以数组形式存储两个关联值

时间:2018-09-23 05:09:33

标签: python discord

我当前正在为我的不和谐机器人编写一个具有水准测量系统的机器人。为此,我有一个名为“ key”的数组,该数组用于存储用户ID,另一个名为“ stats”的数组,用于存储用户的级别。

我需要以某种方式合并这两个数组,以便在调用userID时,它也具有与之关联的特定级别。

1 个答案:

答案 0 :(得分:1)

要详细说明@ juanpa.arrivallaga给出的注释:您正在寻找“字典”数据结构,而不是一对数组。代替

key = ['user01', 'user02', ...]
stats = ['stat01', 'stat02', ...]

您要制作一个字典,其中每个key都链接到stats中的关联值:

users = {'user01': 'stat01', 'user02': 'stat02', ...}

将两个列表转换为一个字典的方法是:

users = dict(zip(key, stats))

详细说明:函数zip()是一个内置函数,它将两个相同大小的数组匹配为一个元组:

zip(key, stats) == [('user01', 'stat01'), ('user02', 'stat02'), ...]

您还可以对任意数量的可迭代对象使用zip(),它将根据索引将它们分组为元组。

解决方案的下一部分只是将其类型转换为dict,这就是python所称的字典。如果您将2元组传递给dict(),则python将自动将第一个元素(在这种情况下,来自key)作为键,并将第二个元素(来自stats)作为键。相关值。