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

如何快速将字典拆分成多个词典

宋正真
2023-03-14
问题内容

我找到了一个解决方案,但确实很慢:

def chunks(self,data, SIZE=10000):
    for i in xrange(0, len(data), SIZE):
        yield dict(data.items()[i:i+SIZE])

您有没有使用外部模块(numpy等)的任何想法?


问题答案:

由于字典很大,因此最好将所有涉及的项都保留为迭代器和生成器,像这样

from itertools import islice

def chunks(data, SIZE=10000):
    it = iter(data)
    for i in xrange(0, len(data), SIZE):
        yield {k:data[k] for k in islice(it, SIZE)}

样品运行:

for item in chunks({i:i for i in xrange(10)}, 3):
    print item

输出量

{0: 0, 1: 1, 2: 2}
{3: 3, 4: 4, 5: 5}
{8: 8, 6: 6, 7: 7}
{9: 9}


 类似资料:
  • 我找到了一个解决方案,但速度非常慢: 不使用外部模块(Numpy等),你有什么想法吗?

  • 问题内容: 让我们考虑这个例子: 假设我们需要字典的键(水果和蔬菜)是部分的数量,加上它们将是这些部分的标题。键的项目(例如苹果和香蕉)将是每个部分的行。如何在我的代码中实现呢?我知道这可能很容易,但我无法弄清楚自己的自我。 问题答案: 您可以使用struct,这是示例:

  • 我有一个字符串和一个ArrayList。字符串中有几个单词,用空格隔开,例如“firstword second third”。我想将字符串拆分为几个部分,并将“piece”字符串添加到ArrayList中。

  • 如果我有一个字符串,比如,是否可以使用作为字符串的拆分点将字符串拆分为两个字符串?

  • 问题内容: 快速将NSDictionaries写入文件有局限性。根据我从api文档中学到的知识和这个答案,键类型应该是NSString,值类型也应该是NSx类型,并且Int,String和其他swift类型可能不起作用。问题是,如果我有一个像这样的字典:如何快速将其写入plist文件或从plist文件读取? 问题答案: 无论如何,当您要存储到文件时,它必须是协议的子类并符合协议。像这样: 然后,这

  • 我想根据特殊字符(如“=”)将一个句子拆分为单词。我尝试了以下代码,但无法得到确切答案,请参阅我的代码: 代码的输出是: 0 C: D: E:=99.993340#0.000000#0.035810#0.000000#0.000179#0.000358#0.000000#0.000000#1.999614#3071.407671_Total=99.993340#0.000000#0.035810#