У меня есть:
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]
источник
list.extend()
должен быть повторяемым.Нет.
Во-первых,
append
это функция, поэтому вы не можете писать,append[i+1:i+4]
потому что пытаетесь получить фрагмент вещи, не являющейся последовательностью. (Вы не можете получить его элемент, либо:append[i+1]
это неверно по той же причине) . При вызове функции, аргумент идет в скобках , т.е. круглых:()
.Во-вторых, вы пытаетесь «взять последовательность и поместить каждый ее элемент в конец этой другой последовательности в исходном порядке». Это пишется
extend
.append
это «возьмите эту вещь и поместите ее в конец списка как отдельный элемент , даже если это тоже список ». (Напомним, что список - это своего рода последовательность.)Но тогда вы должны знать, что
i+1:i+4
это специальная конструкция, которая появляется только внутри квадратных скобок (для получения фрагмента из последовательности) и фигурных скобок (для созданияdict
объекта). Вы не можете передать его функции. Так чтоextend
с этим нельзя . Вам нужно создать последовательность этих значений, и естественный способ сделать это - использоватьrange
функцию.источник
Вы также можете:
newlist += mylist[i:i+22]
источник
Использовать это :
#Inputs L1 = [1, 2] L2 = [3,4,5] #Code L1+L2 #Output [1, 2, 3, 4, 5]
Используя оператор (+), вы можете пропустить несколько операторов добавления и расширения всего в одной строке кода, и это действительно для более чем двух списков L1 + L2 + L3 + L4 ....... и т. Д.
Удачного обучения ... :)
источник
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]
источник
использовать для цикла. как это:
for x in [1,2,7,8,9,10,13,14,19,20,21,22]: new_list.append(my_list[i + x])
источник