Python: 将字典键与字符串进行比较

4

我想在Python中将字典中的键与字符串进行比较,但我找不到任何方法来实现这一点。假设我有:

dict = {"a" : 1, "b" : 2}

我希望能够将字典中第一个索引的键(即“a”)与字符串进行比较。因此,代码可能如下:

if ´Dictionary key´ == "a":
    return True
else:
    return False

有没有一种方法可以做到这一点?非常感谢你能提供的所有帮助。

1
字典没有索引。它有键和值。 - anjaneyulubatta505
3
字典不是有序的数据结构,没有所谓的“第一个索引”。'a' in dict(顺便说一下,这是个糟糕的名称,因为它会遮盖内置函数)可以告诉你这是否是一个键。同时注意,你可以直接使用 return <boolean_expression> - jonrsharpe
print("a" in dict.keys()) ? - Rakesh
1
@Rakesh 不要使用 x in d.keys(),在 Python 3 中它最多是冗余的,因为你可以直接使用 x in d,而在 Python 2 中,它会创建一个新列表,并将常数时间的基于哈希的查找变成 O(N) 的线性搜索...但是你所说的点是正确的。 - juanpa.arrivillaga
Python的dict对象没有索引,它们有。Python的dict对象不是JavaScript对象。 - juanpa.arrivillaga
2个回答

6

Python的字典包含通过键(key)访问的值(value)

您可以按以下方式访问字典中的键,您的字典键将存储在key变量中:

my_dict = {"a" : 1, "b" : 2}
for key in my_dict:
    print(key)

这将打印出以下内容:
a
b

您可以随意进行任何比较:

my_dict = {"a" : 1, "b" : 2}
for key in my_dict:
    if key == "a":
        return True
    else:
        return False

可以改进为:

my_dict = {"a" : 1, "b" : 2}
print("a" in my_dict.keys())

然后,您可以按以下方式访问字典中每个键的值:

my_dict = {"a" : 1, "b" : 2}
for key in my_dict:
    print(my_dict[key])

这将会打印出以下内容:
1
2

我建议你从官方Python文档中阅读有关字典的更多信息: https://docs.python.org/3.6/tutorial/datastructures.html#dictionaries

1
最后五行可以替换为return "a" in my_dict - Ma0
@Ev.Kounis 当然,我只是使用OP的代码,以免让他感到困惑,我会在编辑中添加您的建议。 - Adam Jaamour
@Ev.Kounis 这将是print "a" in my_dict.keys() - Adam Jaamour

1
result = True if "a" in dict.keys() else False
return result

针对您问题中的示例,result将为True

如果您想遍历每个键,索引将无法帮助,因为Python中的字典不能被替代。您可以尝试以下方法:

for key in dict.keys():
    #do something with key 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接