Python中文
首页
教程
问答
标签
搜索
登录
注册
用Python查找和分组anagram
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<pre><code>input: ['abc', 'cab', 'cafe', 'face', 'goo'] output: [['abc', 'cab'], ['cafe', 'face'], ['goo']] </code></pre> <p>问题很简单:它按<em>anagrams</em>分组。顺序无关紧要。</p> 当然,我可以用C++来做这(这是我的母语)。但是,我想这可以通过Python在一行中完成。<strong>编辑:如果不可能的话,可以写两三行。</strong>我是Python新手。</p> <p>为了检查两个字符串是否是anagram,我使用了sorting。</p> <pre><code>>>> input = ['abc', 'cab', 'cafe', 'face', 'goo'] >>> input2 = [''.join(sorted(x)) for x in input] >>> input2 ['abc', 'abc', 'acef', 'acef', 'goo'] </code></pre> <p>我认为结合<code>map</code>左右是可行的。但是,我需要使用<code>dict</code>作为哈希表。我还不知道这一行是否可行。任何提示都会被告知!</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不是一句话而是一个解决方案。。。</p> <pre><code>d = {} for item in input: s = "".join(sorted(item)) if not d.has_key(s): d[s] = [] d[s].append(item) input2 = d.values() </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何提高Djang的410误差
7 回答
如何提高doc2vec模型中两个文档(句子)的余弦相似度?
4 回答
如何提高Docker的日志限制?|[输出已剪裁,达到日志限制100KiB/s]
6 回答
如何提高DQN的性能?
1 回答
如何提高EasyOCR的准确性/预测?
4 回答
如何提高Euler#39项目解决方案的效率?
3 回答
如何提高F1成绩进行分类
7 回答
如何提高FaceNet的准确性
1 回答
如何提高fft处理的精度?
4 回答
如何提高Fibonacci实现对大n的精度?
9 回答
如何提高Flask与psycopg2的连接时间
9 回答
如何提高FosterCauer变换的scipy.signal.invres()的数值稳定性?
1 回答
如何提高gae查询的性能?
2 回答
如何提高GANs用于时间序列预测/异常检测的结果
1 回答
如何提高gevent和tornado组合的性能?
4 回答
如何提高googleappengin请求日志的吞吐量
1 回答
如何提高googlevision文本识别的准确性
9 回答
如何提高groupby/apply效率
9 回答
如何提高Gunicorn中的请求率
4 回答
如何提高G中的文件编码转换
2 回答