检查字典中键内的键
Checking the keys inside of the keys in dictionary
有没有办法检查字典键内部的内部键,如果元素内部有键元素,return从字典中获取相应的值。
例如检查键元组的第二个元素中是否有"Hello"
的元素,如果存在,则return对应的值。
d = {(1, "Hello"): "a", (2, "Bye"): "b"}
key = "Hello"
# Since "Hello" exist in d's key's element(second position), return "a"
您可以遍历键元组,检查元组的第二个值是否等于您想要的值(例如 "hello"),如果是,则 return 该键的值。像这样:
d = {(1, "Hello"): "a", (2, "Bye"): "b"}
key = "Hello"
for k in d:
if k[1] == key:
return d[k]
获取包含key的所有key元组列表;获取该列表的第一个元素,并将其用作 d
.
的索引
>>> d = {(1, "Hello"): "a", (2, "Bye"): "b"}
>>> key = "Hello"
>>> d[[key_tuple for key_tuple in d if key in key_tuple][0]]
'a'
是;但是,您必须遍历字典中的每个键,直到找到您要查找的 "inner key" 。代码如下所示:
d = {(1, "Hello"): "a", (2, "Bye"): "b"}
key = "Hello"
for k in d.keys():
if key in k:
print(d[k])
您可以使用 Python 的 in
关键字检查元素是否存在于元组中。这允许您检查您的 key
是否是密钥中的 "inner key" anywhere。
此代码将打印 a
作为输出。
使用下一个(一旦找到匹配项就会 return)。
通过将默认 return 设置为 None,我们确保不会出现 StopIteration 错误,我们现在可以继续使用字典 get
函数。
请注意,在大多数情况下,这比完整查找更快。
key = 'Hello'
d.get(next((t for t in d if key in t), None))
Returns:
'a'
有没有办法检查字典键内部的内部键,如果元素内部有键元素,return从字典中获取相应的值。
例如检查键元组的第二个元素中是否有"Hello"
的元素,如果存在,则return对应的值。
d = {(1, "Hello"): "a", (2, "Bye"): "b"}
key = "Hello"
# Since "Hello" exist in d's key's element(second position), return "a"
您可以遍历键元组,检查元组的第二个值是否等于您想要的值(例如 "hello"),如果是,则 return 该键的值。像这样:
d = {(1, "Hello"): "a", (2, "Bye"): "b"}
key = "Hello"
for k in d:
if k[1] == key:
return d[k]
获取包含key的所有key元组列表;获取该列表的第一个元素,并将其用作 d
.
>>> d = {(1, "Hello"): "a", (2, "Bye"): "b"}
>>> key = "Hello"
>>> d[[key_tuple for key_tuple in d if key in key_tuple][0]]
'a'
是;但是,您必须遍历字典中的每个键,直到找到您要查找的 "inner key" 。代码如下所示:
d = {(1, "Hello"): "a", (2, "Bye"): "b"}
key = "Hello"
for k in d.keys():
if key in k:
print(d[k])
您可以使用 Python 的 in
关键字检查元素是否存在于元组中。这允许您检查您的 key
是否是密钥中的 "inner key" anywhere。
此代码将打印 a
作为输出。
使用下一个(一旦找到匹配项就会 return)。
通过将默认 return 设置为 None,我们确保不会出现 StopIteration 错误,我们现在可以继续使用字典 get
函数。
请注意,在大多数情况下,这比完整查找更快。
key = 'Hello'
d.get(next((t for t in d if key in t), None))
Returns:
'a'