首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按字典顺序对字符串进行分组(python)

按字典顺序对字符串进行分组(python)
EN

Stack Overflow用户
提问于 2012-02-12 13:39:12
回答 2查看 350关注 0票数 1

我有N个字符串,我想按字典顺序将它们分成M个偶数大小的桶(+/- 1个字符串)。还有,N>>M。

直接的方法是对所有字符串进行排序,并将结果列表拆分为M个存储桶。

相反,我想在完整列表可用之前,通过在创建每个字符串时将其路由到存储桶来近似实现这一点。

有没有一种快速的pythonic方法将字符串分配给存储桶?我本质上是在寻找一个与整数模运算符等价的字符串。也许是一种保持字典顺序的散列?这有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-06 05:32:18

您可以按字符串的前两个字符或类似的内容进行排序。

假设是M=100,所以您应该将字符划分为sqrt(M)区域,并且每个区域都应该指向另一个sqrt(M)区域,然后对于您获得的每个字符串,您可以比较第一个char以确定将字符串定向到哪个区域,并对第二个char进行比较,这就像是一棵树,以桶为叶,将比较作为节点。

票数 0
EN

Stack Overflow用户

发布于 2012-08-25 05:01:22

根据定义,散列不会保留任何顺序。

我不认为有任何蟒蛇的方法可以做到这一点。

您可以只创建字典(基本上是散列函数),并不断向每个循环样式添加一个字符串,但它不会保留任何顺序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9246720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档