与许多已经回答过的关于此主题的问题相比,我有一个更基本的“运行长度编码”问题。本质上,我正在尝试获取字符串
string = 'aabccccaaa'
Run Code Online (Sandbox Code Playgroud)
并返回
a2b1c4a3
Run Code Online (Sandbox Code Playgroud)
我以为,如果我能够设法将所有信息放入一个列表,如下所示,我将很容易能够返回a2b1c4a3
test = [['a','a'], ['b'], ['c','c','c','c'], ['a','a','a']]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我想出了以下代码,但是想知道是否有人可以帮助我弄清楚如何使其创建上面显示的输出。
def string_compression():
for i in xrange(len(string)):
prev_item, current_item = string[i-1], string[i]
print prev_item, current_item
if prev_item == current_item:
<HELP>
Run Code Online (Sandbox Code Playgroud)
如果有人对解决这样一个问题的更有效方法有任何其他意见,我非常高兴!
我在R中有两个长度相同的列表,并希望将它们合并到一个数据帧中,结果数据帧中的行总数等于两个列表的长度(换句话说,每个列表都是一列)。当我尝试使用c(list1, list2)这两个列表时,它们cbind(list1, list2)的总和几乎是原始长度的两倍。