gpt4 book ai didi

在列表之间交换的 Pythonic 方式?

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:44 24 4
gpt4 key购买 nike

我想要一个城市列表和一个邮政编码列表,以及对应的位置(如果 NYC 在城市列表中排在第一位,则 NYS 的代码将在代码列表中排在第一位)。假设我想将 x 设置为纽约市的邮政编码。我知道可以这样做:

y = citylist.index('New York')
x = postcodelist[y]
xstring = str(x)

但是,有没有一种方法可以使列表相等并在一行中执行此操作,例如:

x = postcodelist.citylist.index('New York').string

最佳答案

如果我理解正确的话,您有两个并行列表,您希望将它们视为本质上是键列表和值列表。如果是这样,您可以执行以下操作:

>>> places = ['New York', 'Texas', 'California']
>>> zips = ['01010', '70707', '90909']
>>> place_zip_map = dict(zip(places, zips))
>>> place_zip_map['New York']
'01010'

基本上,将地点列表作为键,将邮政编码列表作为值,使用 zip 将它们组合成一系列键值对,然后使用 dict 创建映射它们的字典彼此。

编辑:如果您想以另一种方式创建字典以将邮政编码/邮政编码映射到您可以使用相同过程的地方,只需翻转 zip 中列表的顺序即可。然后,如果您想要一个可以查找其中任何一个的结构,则可以将两个生成的字典组合成一个。只要没有与邮政编码同名的地方,就不会发生冲突。

关于在列表之间交换的 Pythonic 方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11802436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com