Python 2.7 如何获取列表中值的键
假设我有一本这样的字典:Python 2.7 如何获取列表中值的键,python-2.7,dictionary,key-value,Python 2.7,Dictionary,Key Value,假设我有一本这样的字典: d = {'Q1': ['10', '11', '12'], 'Q2': ['01', '02', '03'], 'Q3': ['04', '05', '06'], 'Q4': ['07', '08', '09'] } 和一个变量:s='04' 我的目标是在d中找到与值列表中的s对应的键。所以,我想返回'Q3' for k, v in d.items(): for item in v: if s == item: print(d[v
d = {'Q1': ['10', '11', '12'], 'Q2': ['01', '02', '03'],
'Q3': ['04', '05', '06'], 'Q4': ['07', '08', '09'] }
和一个变量:s='04'
我的目标是在d中找到与值列表中的s对应的键。所以,我想返回'Q3'
for k, v in d.items():
for item in v:
if s == item:
print(d[v])
上面抛出一个TypeError:unhabable type:'list。在不更改字典结构的情况下,如何实现我的目标?您可以使用in检查元素是否在列表中,而不在列表中添加for:
d = {'Q1': ['10', '11', '12'], 'Q2': ['01', '02', '03'],
'Q3': ['04', '05', '06'], 'Q4': ['07', '08', '09']}
s = '04'
for k, v in d.items():
if s in v:
print(k, d[k])
输出:
Q3 ['04', '05', '06']
之所以出现TypeError,是因为您试图使用列表v作为字典键d[v],但由于列表不易损坏,因此它们不能作为键,而是使用d[k],因为k是键,因此d[k]既正确又直观。是否要获取键?但你们都准备好了,它是K,如果你们打印K,它将打印Q3