【发布时间】:2017-10-04 18:43:25
【问题描述】:
问题要求:编写一个函数,该函数接受一个字符列表作为参数,并返回一个反映该列表运行长度编码的列表。返回列表中的元素遵循以下模式:偶数索引包含字符,奇数索引包含字符连续重复的次数。
当我在函数中键入一个列表时,它不会遍历列表的整个长度。它适用于较短长度的列表,但不适用于较长的列表。不知道如何修复它。
def runLengthEncoding(myList):
aList=[]
count=1
for i in range(1,len(myList)):
if myList[i] == myList[i-1]:
count=count+1
else:
aList.append(myList[i-1])
aList.append(count)
count=1
if i == (len(myList)-1):
aList.append(myList[i])
aList.append(count)
return aList
【问题讨论】:
-
请显示您的代码(请不要显示您的代码的屏幕截图)。
-
修复了@birryree
-
是什么让您认为“它不会遍历列表的整个长度”以获得更长的列表?您是否有任何失败的列表的具体示例?您观察到哪些具体行为让您认为它没有遍历整个输入?
-
现在我看到了代码,它与您之前的问题和答案有何不同? stackoverflow.com/questions/46555516/run-length-encoding-python - 你的代码有什么问题?你能展示一些示例输入以及它会发生什么吗?
标签: python