将列表中的元素与可能的值匹配

2024-04-19 15:35:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张单子。比如说:

words = ['a', 'b', 'c', 'd', 'a', 'g', 'h', 'v']
values = ['donkey', 'monkey', 'whale', 'dog']

注意:真正的列表要长得多

根据列表中的每个元素words,它应该输出一个特定的值。 例如,a应该打印donkey,b应该打印whale等等。你知道吗

values非常长(30个元素)。它们也是手写的。它们不是从别的地方读来的。words是。这意味着我可以选择一本字典或其他东西,如果这是更好的。 最好的办法是什么?你知道吗


Tags: 元素列表字典地方monkey单子valueswords
3条回答

您可以使用zip将列表转换为字典

dict(zip(words, values))

zip将自动截断较长的列表。你知道吗

{'a':'donkey', 'b':'monkey', 'c':'whale', 'd':'dog'}

然后,您可以使用以下键访问值:d['a']

你应该把它存为字典。像这样的

lookup  =  {  'a': 'donkey', 'b':  'monkey', 'c':'wale'}

这将帮助您更好更快地访问它。你知道吗

当您需要a时,lookup['a']将给出结果。你知道吗

你的方法也可以应用,但是时间复杂度要高得多。你知道吗

words = ['a', 'b', 'c', 'd', 'a', 'g', 'h', 'v']
values = ['donkey', 'monkey', 'whale', 'dog']

print(values[words.index('b')])

不知道这个场景中的“b”->;“whale”是什么意思,但是。。。你知道吗

In [5]: wv = dict(zip(words, values))

In [6]: wv
Out[6]: {'a': 'donkey', 'b': 'monkey', 'c': 'whale', 'd': 'dog'}

In [7]: wv['a']
Out[7]: 'donkey'

相关问题 更多 >