Ответ 1
Ключевое слово, которое вы ищете, это список понятий:
>>> x = [1, 2, 3, 4, 5]
>>> y = [2*a for a in x if a % 2 == 1]
>>> print(y)
[2, 6, 10]
Я не уверен, нужна ли мне лямбда или что-то еще. Но все же мне нужно следующее:
У меня есть array = [1,2,3,4,5]
. Мне нужно поместить этот массив, например, в другой массив. Но напишите все в одной строке.
for item in array:
array2.append(item)
Я знаю, что это вполне возможно, итерации по элементам и сделать его однострочным. Но пособия по поиску в Google и в руководстве для чтения не очень помогли мне... если вы можете просто дать мне подсказку или назвать эту вещь, чтобы я мог найти то, что это такое, я бы очень признателен.
Обновление: скажем так: array2 = SOME FANCY EXPRESSION THAT IS GOING TO GET ALL THE DATA FROM THE FIRST ONE
(пример НЕ РЕАЛЬНО. Я просто пытаюсь выполнить итерацию через разные куски данных, но это лучшее, что я мог бы придумать)
Ключевое слово, которое вы ищете, это список понятий:
>>> x = [1, 2, 3, 4, 5]
>>> y = [2*a for a in x if a % 2 == 1]
>>> print(y)
[2, 6, 10]
for item in array: array2.append (item)
Или, в этом случае:
array2 += array
Если вы пытаетесь скопировать массив:
array2 = array[:]
Если вам действительно нужно добавить элементы в один массив к другому, оператор "+" уже перегружен, чтобы сделать это, кстати:
a1 = [1,2,3,4,5]
a2 = [6,7,8,9]
a1 + a2
--> [1, 2, 3, 4, 5, 6, 7, 8, 9]
Даже array2.extend(array1)
будет работать.
Используя элементы из списка "A", создайте новый список "B" с элементами, которые меньше 10
Опция 1:
A = [1, 1, 2, 3, 5, 8, 13, 4, 21, 34, 9, 55, 89]
B = []
for i in range(len(A)):
if A[i] < 10:
B.append(A[i])
print(B)
Вариант 2:
A = [1, 1, 2, 3, 5, 8, 13, 4, 21, 34, 9, 55, 89]
B = [A[i] for i in range(len(A)) if A[i] < 10]
print(B)
Результат: [1, 1, 2, 3, 5, 8, 4, 9]