Python 3.5.1扩展列表

Python 3.5.1扩展列表,python,list,python-3.x,Python,List,Python 3.x,抱歉转告,我30分钟前刚加入stack overflow。 我想我在之前的帖子中没有解释我的职能 def GetExtendedKeyword(message, newkeyword): while True: difference = len(message) - len(newkeyword) if difference > 0: newkeyword.extend(newkeyword[:difference]

抱歉转告,我30分钟前刚加入stack overflow。 我想我在之前的帖子中没有解释我的职能

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]。当涉及较长的关键字或消息列表时,程序不喜欢我的代码。请帮忙

像这样试试看

l = [0, 1, 5, 4, 2, 9]
l.extend(l[:n]) #extend l with the first n elements of l

这仅适用于n如果金额可以大于列表长度,则可以执行以下操作:

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]
list.extendL通过在列表中添加所有项来扩展列表 给定列表;相当于a[lena:]=L

这是Python文档中的一句话。我认为这是你寻求帮助的最好地方。根据文档,您的代码应该如下所示:

listOne = [0,1,5,4,2,9]
listOne.extend(listOne[:n])

我很想帮你。

list.extendelist[:n]。但是,不要使用列表作为名称,因为它与内置类型冲突。不能大于列表的长度?抱歉,我的意思是不能。这就是我为代码编写的内容,但有时列表不希望扩展该数量。@Mureinik是的,它可以。如果n大于列表的长度,是否希望从开始处重新开始?def GetExtendedKeywordmessage,newkeyword:while True:difference=lenmessage-lennewkeyword如果difference>0:newkeyword.extendDNewkeywordp[:difference]printnewkeyword返回newkeyword elif difference您好,这是我最初编写函数的方式,但对于特定长度的列表,该计划不想扩展它。我的想法是,我有两个列表,一个消息列表和一个关键字列表,程序计算它们之间的消息-关键字长度差异,如果差异大于0,程序将扩展关键字列表以匹配消息列表。使用函数len了解列表中有多少元素。代码在那里消息=[1,2,3,4,5,6]关键字=[1,2,3]n=lenmessage lenkeyword如果n>0:keyword.extendedMessage[n:]打印消息,关键字您能展开它并解释它是如何工作的吗?这在审阅队列中弹出。