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

通过索引访问collections.OrderedDict中的项目

孔和畅
2023-03-14
问题内容

可以说我有以下代码

import collections
d = collections.OrderedDict()
d['foo'] = 'python'
d['bar'] = 'spam'

有没有一种方法可以以编号方式访问项目,例如:

d(0) #foo's Output
d(1) #bar's Output

问题答案:

如果是OrderedDict(),则可以通过获取(key,value)对的元组的索引来轻松访问元素,如下所示

>>> import collections
>>> d = collections.OrderedDict()
>>> d['foo'] = 'python'
>>> d['bar'] = 'spam'
>>> d.items()
[('foo', 'python'), ('bar', 'spam')]
>>> d.items()[0]
('foo', 'python')
>>> d.items()[1]
('bar', 'spam')

Python 3.X的注意事项

dict.items将返回一个可迭代的dict视图对象而不是一个列表。我们需要将调用包装到一个列表上,以使建立索引成为可能

>>> items = list(d.items())
>>> items
[('foo', 'python'), ('bar', 'spam')]
>>> items[0]
('foo', 'python')
>>> items[1]
('bar', 'spam')


 类似资料:
  • 问题内容: 我试图在把手模板内的数组中指定项的索引: 使用这个: 如果上述方法不可行,我将如何编写一个可以访问数组中特殊项目的助手? 问题答案: 尝试这个:

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

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

  • 我对Java很陌生,只是有点纠结于数组。我有一个代码块,我已经写了当遵循教程,但正在努力理解它,希望有人能解释给我。 null 对不起,如果这是一个琐碎的问题给你,但这是最好的地方,我可以想到转向。

  • 问题内容: 我希望能够执行以下操作: 我的动机是提高代码的简洁性,并在可能的情况下使用类似于Javascript的语法来访问JSON对象,以进行高效的跨平台开发。(我也使用Py2JS和类似的东西。) 问题答案: 这是一种创建这种体验的方法:

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