我如何pass
或将未定义的值作为参数发送到字典?请考虑以下情况:
Dict = {(1,'a'): 2, (1,''): 1, (1,'c'): 1, (3,'1'): 3};
print Dict [(1, pass)];
我想获得第一个参数为1的字典条目列表。
例如
Dict [(1, pass)]
我希望它返回:
{(1,'a'): 2, (1,''): 5, (1,'c'): 7}
怎么做?
此致
答案 0 :(得分:1)
除了您期望在键中的值之外,不需要传递任何其他内容,即1.您可以构建一个新的dict
,使用这样的字典理解
my_dict = {(1,'a'): 2, (1,''): 1, (1,'c'): 1, (3,'1'): 3}
print {k: my_dict[k] for k in my_dict if 1 in k}
# {(1, 'c'): 1, (1, 'a'): 2, (1, ''): 1}
注意: pass
是Python中的一个语句,不能用于代替值。也许你的意思是None
。
编辑:如果您确定您要查找的值始终位于第一个位置,您可以这样做(感谢@zhangxaochen :))
print {k: my_dict[k] for k in my_dict if 1 == k[0]}
答案 1 :(得分:0)
我会创建一个函数来执行此操作:
def filterFirst(a, Dict):
return {k: Dict[k] for k in Dict if k[0] == a}
您还可以创建一个过滤器,用于过滤键元组的任何索引:
def filterDictionary(a, Dict, index):
return {k: Dict[k] for k in Dict if k[index] == a}
确保字典中只有元组作为键。