如何在 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)
假设我有一本字典:
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)