当前位置: 首页 > 面试题库 >

如何在变量中提取字典单个键值对

宋瀚海
2023-03-14
问题内容

我在词典中只有一个键/值对。我想将键分配给一个变量,并将其值分配给另一个变量。我已经尝试过以下方式,但是我却遇到了同样的错误。

>>> d = {"a": 1}

>>> d.items()
[('a', 1)]

>>> (k, v) = d.items()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack

>>> (k, v) = list(d.items())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack

我知道我们可以一键提取键和值,也可以通过for循环和键来提取键和值iteritems(),但是难道没有一种简单的方法可以在一个语句中分配键和值吗?


问题答案:

用元组添加另一个级别(只是逗号):

(k, v), = d.items()

或列出:

[(k, v)] = d.items()

或挑选第一个元素:

k, v = d.items()[0]

前两个具有一个额外的优点,即如果您的字典具有多个键,它们将引发异常,并且都可以在Python 3上运行,而后者则必须拼写为k, v = next(iter(d.items()))可以正常工作。

演示:

>>> d = {'foo': 'bar'}
>>> (k, v), = d.items()
>>> k, v
('foo', 'bar')
>>> [(k, v)] = d.items()
>>> k, v
('foo', 'bar')
>>> k, v = d.items()[0]
>>> k, v
('foo', 'bar')
>>> k, v = next(iter(d.items()))  # Python 2 & 3 compatible
>>> k, v
('foo', 'bar')


 类似资料:
  • 从单词导入随机 导入word_dict def get_word(): word=random.choice(list(WORD_DICT.VALUES())) 返回word.Upper() 所以我正在导入这个字典,从中获取一个随机值,并将其保存在一个变量中。现在如果我想要得到相同随机值的键。我怎么才能拿到钥匙?有人帮忙吗?提前谢谢你。

  • API中的每个REST调用都集成了身份验证方法。我一直试图通过Spring AOP实现一个认证方法,这样我就可以从endpoint中删除所有重复的代码,并且只需要一个建议就可以在控制器中查找所有的公共方法。 请检查以下我的代码, 但是,我看到Intelij在< code > get category(http servlet request)附近给出错误 代码正在编译,当我测试功能时,我注意到它没

  • 问题内容: 我有一个字典列表,它们在列表中都具有相同的结构。例如: 我想从列表中的每个字典中获取每个项目: 我当然可以遍历列表并使用for循环提取每个值: 但是我的数据集很大。我想知道是否有更快的方法。 问题答案: 如果只需要迭代一次值,请使用生成器表达式: 另一个(深奥的)选项可能与-一起使用-它可能会比生成器表达式快一点,或者不快一点,具体取决于情况: 而且,如果您绝对需要一个列表,则列表理解

  • 问题内容: 对不起这个基本问题,但我的搜索没有发现什么,除了如何根据其值获取字典的键外,我不愿使用它,因为我只想要键的文本/名称,并且担心搜索如果字典中有很多条目,按值排序可能最终会返回2个或更多键…我想做的是: 这样做的原因是我将这些信息打印到文档中,并且在执行此操作时要使用键名和值 我看过下面的方法,但这似乎只是返回键的值 问题答案: 您应该使用以下方法遍历密钥:

  • 问题内容: 我有一本Swift字典。我想获得钥匙的价值。密钥方法的对象对我不起作用。如何获得字典键的值? 这是我的字典: 问题答案: 使用下标访问字典键的值。这将返回一个可选: 要么 您还可以枚举所有键和值: 或枚举所有值:

  • 问题内容: 我想像这样从python字典输出键值对: 我以为我可以这样做: 但是很明显,这不是和不争论的方式。 问题答案: 您现有的代码只需进行一些调整。 是 关键,因此您只需要使用它: 您还可以获得包含键和值的迭代器。在Python 2中,返回(键,值)元组的列表,而返回提供相同值的迭代器: 在Python 3中,返回迭代器;要获得列表,您需要将迭代器传递给自己。