如何从两个列表构建词典

2024-04-24 19:35:32 发布

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

有两个不同大小的列表:

numbers=[1,2,3,4,5]
cities=['LA','NY','SF']

我需要得到这个:

result={1:'LA', 2:'NY', 3:'SF'}

我想用:

result={number:cities[numbers.index(number)] for number in numbers if numbers.index(number)<len(cities)}

但是这个班轮有点长。我想知道是否有其他方法可以达到同样的目标。你知道吗

稍后编辑:

对使用zip提出了多种建议:

dict(zip(cities, numbers))

虽然这绝对是一个比我使用的列表理解更简单的语法,但我想知道哪个执行起来更快?你知道吗


Tags: innumber列表forindexlenifresult
3条回答
numbers=[1,2,3,4,5]
cities=['LA','NY','SF']
dict(zip(cities,numbers))

;)

我怀疑这是重复虽然-搜索之前,你张贴

使用zip,它只会压缩到最短序列的末尾

dict(zip(cities, numbers))

最简单的可能是dict(zip(numbers,cities)) 一旦任何列表结束,zip就会停止,这就是您想要的。你知道吗

相关问题 更多 >