Python 如何检查元组键是否包含字典中的元素
我正在寻找一种可以做类似事情的手术:Python 如何检查元组键是否包含字典中的元素,python,python-3.x,dictionary,tuples,Python,Python 3.x,Dictionary,Tuples,我正在寻找一种可以做类似事情的手术: dict[ ( tuple[0] , _ ) ] 字典包含元组作为键 如何检查字典是否包含一个值,其中元组键的第一部分为特定值,第二部分为任何值?对于字典d x = # value of interest for key in d.keys(): if key[0] == x: #do stuff 但正如评论中所指出的,这不是一种非常有效的做事方式 #Dictionary with tuples as keys dict_wit
dict[ ( tuple[0] , _ ) ]
字典包含元组作为键
如何检查字典是否包含一个值,其中元组键的第一部分为特定值,第二部分为任何值?对于字典d
x = # value of interest
for key in d.keys():
if key[0] == x:
#do stuff
但正如评论中所指出的,这不是一种非常有效的做事方式
#Dictionary with tuples as keys
dict_with_tup = dict([((1,2),3), ((1,4),2), ((2,5),7)])
#value that you wanna find (just the first value of the tuple)
x = 1
#filtered dict based on that value
{k:v for k,v in dict_with_tup.items() if k[0]==x}
为了有效地使用字典,关键应该是你想用来查找资料的东西。因此,在本例中,键应该是元组的第一部分。否则,您将遍历所有键以检查每个键,这将失去字典的优势。请提供一个示例,问题不清楚。您能否提供一个MRE@khelwood,您所说的元组的第一部分是什么意思?这是否意味着要将字典键转换为单个值?您说过要查找具有“特定值作为第一部分”的键。第一部分应该是你用的钥匙。如果您想在不知道键的第二部分的情况下在字典中查找内容,那么该第二部分根本不应该包含在键中。不是真的,您需要搜索,搜索意味着迭代。你能做的最好的就是像我一样使用列表理解,这是超快速的。
{(1, 2): 3, (1, 4): 2}