抱歉重新发布(我刚刚加入堆栈溢出30分钟前)。 我不认为我在上一篇文章中解释了我的功能。
def GetExtendedKeyword(message, newkeyword):
while True:
difference = len(message) - len(newkeyword)
if difference > 0:
newkeyword.extend(newkeyword[:difference]
return newkeyword
elif difference <= 0:
return newkeyword
我所拥有的是两个列表,一个消息和一个关键字列表。程序计算它们之间的差异,如果关键字短于消息列表,程序将按该差异重复关键字列表。
例如,原始关键字列表为[0,1,5,2,5]
,差异为3,最终结果应为[0,1,5,2,5,0,1,5]
。当涉及更长的关键字或消息列表时,该程序不喜欢我的代码。请帮忙!
答案 0 :(得分:0)
尝试这样
l = [0, 1, 5, 4, 2, 9]
l.extend(l[:n]) #extend l with the first n elements of l
这仅适用于n&lt; len(l)......
答案 1 :(得分:0)
如果金额可能大于列表长度,您可以这样做:
def extend(lst, n):
nfull = n / len(lst) + 1
nrem = n % len(lst)
return lst*nfull+lst[:nrem]
lst = [0,1,5,4,2,9]
print extend(lst, 3)
# [0, 1, 5, 4, 2, 9, 0, 1, 5]
print extend(lst, 7)
# [0, 1, 5, 4, 2, 9, 0, 1, 5, 4, 2, 9, 0]
答案 2 :(得分:0)
list.extend(L)通过附加所有项目来扩展列表 给出清单;相当于[len(a):] = L。
来自Python文档的句子。我认为这是你寻求帮助的最佳地点。根据文档,您的代码应如下所示:
listOne = [0,1,5,4,2,9]
listOne.extend(listOne[:n])
我想帮助你。