Как добавить несколько элементов в одну строку в Python



Я:



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() операторы в несколько операторов.

196   3  

3 ответов:

нет. Метод добавления всей последовательности -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 - это специальная конструкция, которая появляется только внутри квадратных скобок (чтобы получить срез из последовательности) и фигурных скобок (чтобы создать

вы можете также:

newlist += mylist[i:i+22]

Comments

    Ничего не найдено.