【发布时间】:2019-01-10 11:16:44
【问题描述】:
假设我有一本州缩写词和相应名称的字典:
stateDict = {'AL': 'Alabama', 'AK': 'Alaska', 'AZ': 'Arizona', ...}
我还有一个包含州缩写的字典列表,以及其他数据,包括县和县 fips 代码:
stateList = [{'county': 'Los Angeles County', 'state': 'CA', 'fips': '06037', 'cid': '060655'}, {'county': 'Jasper County', 'state': 'AL', 'fips': '18073', 'cid': '180100'}, {'county': 'Lafayette Parish', 'state': 'LA', 'fips': '22055', 'cid': '220102'}, {'county': 'Carver County', 'state': 'AL', 'fips': '27019', 'cid': '275233'}, {'county': 'Bertie County', 'state': 'NC', 'fips': '37015', 'cid': '227344'}...]
正如您在上面看到的,'state': 'AL' 的条目不止一个。我在这里要做的是使用字典 1:stateDict,选择列表 stateList 中的所有条目作为“AL”,然后将州名称放入一个新列表中,其中包含 stateList 中显示的所有县 fips 代码“ AL'(或 stateDict 中的任何其他状态)。所以结果应该是这样的:
stateInfo = ['Alabama': {'01003', '01004', '01017'}, 'Alaska': {'02030', '02113', '02014'}...]
或者可能是这样(我不确定什么是合适的):
stateInfo = {'Alabama': ['01003', '01004', '01017'], 'Alaska': ['02030', '02113', '02014']...}
使用前面提到的方法,我会使用这样的东西,但是因为我正在为 stateInfo 提取数据,所以我有些困惑。有什么建议吗?
stateInfo = {}
for i in stateList:
fips = []
for j in stateDict:
for k, v in stateDict:
if 'state' in stateList[i] == k for stateDict[j]:
stateInfo[stateDict[v]].append(stateList('fips'[v])
【问题讨论】:
标签: python list dictionary for-loop conditional