【问题标题】:How to check if tuple key contains an element in dictionary如何检查元组键是否包含字典中的元素
【发布时间】:2020-07-25 21:01:15
【问题描述】:

我正在寻找可以执行类似操作的操作:

dict[ ( tuple[0] , _ ) ]

字典包含元组作为键。

如何检查字典是否包含一个值,其中元组键的第一部分具有特定值,第二部分具有任何值?

【问题讨论】:

  • 要有效地使用字典,键应该是您要用来查找资料的确切内容。所以在这种情况下,键应该是元组的第一部分。否则,您将不得不遍历所有键来检查每个键,这将失去字典的好处。
  • 请举个例子,问题不清楚。
  • @khelwood 我的元组的第一部分是什么意思?这是否意味着将字典键转换为单个值?
  • 您说要查找具有“特定值作为第一部分”的键。第一部分应该是您用作密钥的部分。如果您想在不知道键的第二部分的情况下在字典中查找内容,则该第二部分根本不应该包含在键中。

标签: python python-3.x dictionary tuples


【解决方案1】:

试试这个,

#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}
{(1, 2): 3, (1, 4): 2}

【讨论】:

  • 不是真的,你需要搜索,搜索意味着迭代。你能做的最好的就是像我一样使用列表理解,这是超快的。
【解决方案2】:

对于字典 d

x = # value of interest
for key in d.keys():
    if key[0] == x:
        #do stuff

但正如 khelwood 在 cmets 中指出的那样,这不是一种非常有效的做事方式

【讨论】:

    猜你喜欢
    • 2015-12-24
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 2019-10-22
    • 1970-01-01
    • 2014-08-07
    • 2021-07-16
    相关资源
    最近更新 更多