在列表之间交换的Pythonic方式?
发布时间:2020-12-20 12:20:38 所属栏目:Python 来源:网络整理
导读:我想要一个城市列表和一个邮政编码列表,其中的位置对应(如果NYC是城市列表中的第一个,NYS的代码将首先在代码列表中).说我想将x设置为NYC的邮政编码.我知道可以这样做: y = citylist.index('New York')x = postcodelist[y]xstring = str(x) 但是,有没有办法
我想要一个城市列表和一个邮政编码列表,其中的位置对应(如果NYC是城市列表中的第一个,NYS的代码将首先在代码列表中).说我想将x设置为NYC的邮政编码.我知道可以这样做:
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创建将它们映射到另一个的dict . 编辑:如果你想创建一个字典,另一种方法是将邮政编码/拉链映射到你可以使用相同过程的地方,只需翻转你邮政编码中的列表顺序即可.如果你想要一个可以查找的结构,你可以将两个结果的dicts组合成一个.只要没有与邮政编码同名的地方,就不会发生冲突. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |