Ответ 1
Нет. Метод добавления целой последовательности list.extend()
.
>>> L = [1, 2]
>>> L.extend((3, 4, 5))
>>> L
[1, 2, 3, 4, 5]
У меня есть:
count = 0
i = 0
while count < len(mylist):
if mylist[i + 1] == mylist[i + 13] and mylist[i + 2] == mylist[i + 14]:
print mylist[i + 1], mylist[i + 2]
newlist.append(mylist[i + 1])
newlist.append(mylist[i + 2])
newlist.append(mylist[i + 7])
newlist.append(mylist[i + 8])
newlist.append(mylist[i + 9])
newlist.append(mylist[i + 10])
newlist.append(mylist[i + 13])
newlist.append(mylist[i + 14])
newlist.append(mylist[i + 19])
newlist.append(mylist[i + 20])
newlist.append(mylist[i + 21])
newlist.append(mylist[i + 22])
count = count + 1
i = i + 12
Я хотел сделать операторы newlist.append()
в нескольких утверждениях.
Нет. Метод добавления целой последовательности list.extend()
.
>>> L = [1, 2]
>>> L.extend((3, 4, 5))
>>> L
[1, 2, 3, 4, 5]
Нет.
Во-первых, append
- это функция, поэтому вы не можете писать append[i+1:i+4]
, потому что вы пытаетесь получить фрагмент вещи, которая не является последовательностью. (Вы не можете получить элемент из него: append[i+1]
не так по той же причине.) Когда вы вызываете функцию, аргумент идет в круглые скобки, то есть круглые: ()
.
Во-вторых, то, что вы пытаетесь сделать, это "взять последовательность и поместить каждый элемент в нее в конце этой другой последовательности в исходном порядке". Это записано extend
. append
: "Возьмите эту вещь и поместите ее в конец списка как один элемент, даже если это также список". (Напомним, что список - это своего рода последовательность.)
Но тогда вам нужно знать, что i+1:i+4
- это специальная конструкция, которая появляется только внутри квадратных скобок (для получения фрагмента из последовательности) и фигурных скобок (для создания объекта dict
). Вы не можете передать его функции. Таким образом, вы не можете extend
с этим. Вам нужно сделать последовательность этих значений, и естественный способ сделать это - с помощью функции range
.
Вы также можете:
newlist += mylist[i:i+22]
mylist = [1,2,3]
def multiple_appends(listname, *element):
listname.extend(element)
multiple_appends(mylist, 4, 5, "string", False)
print(mylist)
ВЫХОД:
[1, 2, 3, 4, 5, 'string', False]