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

从字典返回前N个key:value对

魏健柏
2023-03-14
问题内容

考虑以下字典d:

d = {'a': 3, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

我想从d返回第N个key:value对(在这种情况下,N <= 4)。最有效的方法是什么?


问题答案:

不需要“前n个”键,因为adict不会记住首先插入的键。

你可以 任意 n键-值对,但:

n_items = take(n, d.iteritems())

这使用take来自itertools配方的实现:

from itertools import islice

def take(n, iterable):
    "Return first n items of the iterable as a list"
    return list(islice(iterable, n))

看到它在线运行:ideone

Python 3.6更新

n_items = take(n, d.items())


 类似资料:
  • 问题内容: public class Return { public static void main(String[] args) { int answer = digit(9635, 1); print(“The answer is ” + answer); } 创建一个使用称为 digit 的函数的程序,该函数从整数参数的右边返回第n个数字的值。n的值应该是第二个参数。 例如:return

  • 我是一个新手Python程序员,我有一个问题加载pd.read_excel()函数的xlsx工作簿。熊猫read_excel留档说,指定'sheet_name=无'应该返回"所有工作表作为DataFrames的字典",但是我得到了一个空字典回来: 返回: 当我尝试在字典中打印工作表名称时: 返回: 我不清楚为什么输出字典中没有列出工作表。任何提示都非常感谢。

  • 问题内容: 我想编写一个接受绑定变量(例如:NUM)的SQL查询,其输出由一列和:NUM行数组成,每一行都有其行号。也就是说,如果我们将:NUM作为7传递,则输出应为: 查询中不应有任何实际的数据库表,也不应使用PL / SQL代码。即在查询中仅应使用双重 有什么办法可以做到这一点? 问题答案: 您可以使用: …但是表必须包含等于或大于bind变量限制的行。 该链接演示了Oracle中的各种行号生

  • 问题内容: 我想从数组中返回前5个项目。我怎样才能做到这一点? 问题答案: 返回数组的切片 是您要返回前五个元素的代码

  • 创建一个数组切片,从arr数组的起始元素开始提取n个元素。 使用 Array.slice() 创建一个数组包含第一个元素开始,到 n 个元素结束的数组。 const take = (arr, n = 1) => arr.slice(0, n); take([1, 2, 3], 5); // [1, 2, 3] take([1, 2, 3], 0); // []

  • 我得到了谷歌云存储桶的URL。我必须: > 对于每个blob,我进行一些gcsapi调用,以获取关于blob的信息(blob.size、blob.name等) 对于每个Blob,我还必须读取它,在它里面找到一些东西,并将其添加到从GCS API调用中获得的值中 对于每个blob,我必须将步骤2和步骤3中找到的关于blob的值写入BigQuery 我有数千个blob,因此这需要使用ApacheBea