如何在 Python 中打印字典的关键字?

How do you print a key of a dictionary in Python?

假设我有一本字典:

dictionary1 = {'test':'output','test2':'output2'}

我怎样才能在屏幕上打印密钥 test

我一次只想要一个键,不需要所有键。

顺便说一下,不是字面意思,通过 print('test'),我的意思是你如何打印任何字典的键?

好像有这样的:

#pseudocode
x = dictionary1.keys()[0]
>>> print(x)
'test'

我不想对程序中实际使用的字典进行排序。

字典可以有任意数量的键,0+。要按排序顺序打印所有(如果有的话),您可以

for key in sorted(dictionary1):
    print(key)

如果您不关心顺序(即您可以接受看起来随机的顺序),请删除 sorted 调用。

如果你想有选择性(例如只打印长度为 4 的序列的键,这样在你的例子中 test 会被打印但 test2 不会):

for key in sorted(dictionary1):
    try:
        if len(key) == 4:
            print(key)
    except TypeError:
        pass

如果只想打印一个这样的键,在print后加一个break

你这个极其模糊的问题至少还有 347 个其他意思,但我试着列出最有可能的那些……如果这对你来说还不够,请编辑你的问题 很多更精确!-)

补充:编辑只说 OP 只想打印一个键而不做排序,所以它仍然是一个谜 如何 选择一个键(我怀疑有一个误解——好像 dict 键有一个特定的顺序,当然在 Python 中它们没有,而 OP 想要 "the first one",只是无法确定-- OrderedDict 是一个非常不同的 [而且不可避免地更慢] 的野兽,但是 dict 这是 OP 所展示的)。

所以如果目标是打印"any one key, no matter which one"(并且已知thedict不为空):

print(next(iter(thedict)))

是最简单、最直接的方法——dict 是可迭代的,以任意顺序生成其键; iter returns 其可迭代参数的迭代器; next returns 其迭代器参数的第一个(任意顺序的第一个当然是任意一个)项目。

如果thedict可能为空,并且在这种情况下不需要打印任何内容,只需添加一个守卫:

if thedict: print(next(iter(thedict)))

对于空字典、长度为 1 的字典的唯一键、长度大于 1 的字典的任意键,这将不打印任何内容。

如果您要查找与特定值关联的键,您可以这样做

keys = [key for key in d if d[key] == value]
print(keys)