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

在Python3中按索引访问dict_keys元素

别开诚
2023-03-14
问题内容

我正在尝试通过其索引访问dict_key的元素:

test = {'foo': 'bar', 'hello': 'world'}
keys = test.keys()  # dict_keys object

keys.index(0)
AttributeError: 'dict_keys' object has no attribute 'index'

我想得到foo

与:

keys[0]
TypeError: 'dict_keys' object does not support indexing

我怎样才能做到这一点?


问题答案:

list()而是调用字典:

keys = list(test)

在Python
3中,该dict.keys()方法返回一个字典视图对象,它充当一个集合。直接遍历字典还会产生键,因此将字典转换为列表会得到所有键的列表:

>>> test = {'foo': 'bar', 'hello': 'world'}
>>> list(test)
['foo', 'hello']
>>> list(test)[0]
'foo'


 类似资料:
  • 问题内容: 可以说我有一个MultiIndex系列: 我想应用一个使用行索引的函数: 我该怎么做?进行此类操作的推荐方法是什么?我希望获得一个新的Series,并将此函数所产生的值应用于每行并具有相同的MultiIndex。 问题答案: 我认为无法访问该索引;它将每行视为一个numpy对象,而不是一个Series,如您所见: 要解决此限制,请将索引提升为列,应用函数,然后使用原始索引重新创建Ser

  • 问题内容: 当我运行该函数时,它会引发以下错误,这是为什么呢? 问题答案: 显然,您正在传递给函数。可能是用python2.x编写的(返回列表时)。使用python3.x时,返回一个行为更像a而不是a的对象。因此,无法对其进行索引。 解决方案是将(或简单地)传递给。

  • 问题内容: 我正在使用selenium,并且正在使用功能FindElements,所以我正在获取实现IReadOnlyCollection接口的元素。我想遍历列表,但似乎IReadOnlyCollection没有诸如Get(int index)或操作[]的实现之类的任何方法。 我想避免将结果转换为List或数组,因为我只想访问元素以读取它们。 目前,我不想使用foreach,因为我需要管理索引,以

  • 我到处寻找这个,但我似乎找不到它(尽管它一定非常琐碎)。 我的问题是,我想检索数据帧的第一个和最后一个条目的列的值。但是如果我这样做了: 我得到: 但是如果我这样做了: 我得到: 用不同的格式。理想情况下,我希望能够访问数据帧的最后一个索引的值,但我找不到如何访问。 我甚至尝试创建一个包含索引值的列(IndexCopy),然后尝试: 但这也会产生一种不同的格式(因为df.tail(1)['Inde

  • 问题内容: 考虑像这样的字典 例如,如何访问该词典的特定元素?例如,我想在格式化Apple的第一个元素(在我们的情况下仅是“ American”)之后打印第一个元素。 附加信息上面的数据结构是通过在python函数中解析输入文件创建的。一旦创建,它在该运行中将保持不变。 我在函数中使用此数据结构。 因此,如果文件发生更改,则下次运行此应用程序时,文件的内容将有所不同,因此此数据结构的内容将有所不同

  • 问题内容: 给定n个元素的数组,即 我可以编写一个扩展,以便可以修改数组以实现以下输出: 有没有一种方法可以实现将数组移动任何索引(正数或负数)的功能。我可以使用子句以命令式方式实现此功能,但我正在寻找的是功能性实现。 该算法很简单: 通过提供的索引将数组分为两个 将第一个数组附加到第二个数组的末尾 有什么方法可以以功能样式实现它吗? 我完成的代码: 问题答案: 您可以使用远程下标并连接结果。这将