【发布时间】:2018-08-26 22:20:39
【问题描述】:
我对编码非常陌生,因此选择 python 作为我的第一门编码语言。我正在做一个名为 Run Length Encoding 的练习。经过一番搜索,我找到了解决方案,但我很难理解代码。有人可以破解此代码并用简单的语言进行解释。谢谢。
string = 'WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB'
x=''.join(['{}{}'.format(k, sum(1 for _ in g)) for k, g in groupby(string)])
【问题讨论】:
-
您是否 (a) 没有阅读
groupby的文档,(b) 阅读但不理解它们,或者 (c) 理解它们但不明白如何分解其余部分?在每种情况下,答案所关注的内容会有所不同。 -
您的代码不完整。
groupby不是标准函数。它必须从包中导入;确切的行为将取决于它是从哪个包导入的。 -
@AJNeufeld 我认为很明显他在这里使用了
itertools.groupby。虽然如果他把这个问题说清楚会更好,但我认为这不是无法回答的。 -
@abarnert 我确实阅读了 groupby 的文档。我只是不明白这一行发生了什么。 Join 中有“for”函数。我只是无法理解这段代码。
标签: python python-3.x run-length-encoding