我想要一个城市列表和一个邮政编码列表,其中的位置对应(如果NYC是城市列表中的第一个,NYS的代码将首先在代码列表中).说我想设置x纽约的邮政编码.我知道可以这样做:
y = citylist.index('New York')
x = postcodelist[y]
xstring = str(x)
Run Code Online (Sandbox Code Playgroud)
但是,有没有办法将列表等同并在一行中执行此操作,例如:
x = postcodelist.citylist.index('New York').string
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,您有两个并行列表,您希望将其视为一个键列表和一个值列表.如果是这样,您可以执行以下操作:
>>> places = ['New York', 'Texas', 'California']
>>> zips = ['01010', '70707', '90909']
>>> place_zip_map = dict(zip(places, zips))
>>> place_zip_map['New York']
'01010'
Run Code Online (Sandbox Code Playgroud)
基本上,将您的地点列表作为您的密钥和您的拉链/邮政编码列表作为您的值,用于zip将它们组合成一系列键值对,然后用于dict创建将它们相互映射的字典.
编辑:如果你想创建一个字典,另一种方式将邮政编码/拉链映射到你可以使用相同过程的地方,只需翻转你的列表顺序zip.如果你想要一个可以查找的结构,你可以将两个结果的dicts组合成一个.只要没有与邮政编码同名的地方,就不会发生冲突.
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |