Size: a a a

Сообщество Python Программистов

2020 December 26

DD

Danil Danil in Сообщество Python Программистов
написать функцию, которая принимает в качестве аргументов два списка, а возвращает список, состоящий из элементов этих двух списков, при чем первый элемент списка - первый элемент первого аргумента, второй элемент списка - первый элемент второго списка, третий элемент - второй элемент первого списка, четвертый - второй элемент второго аргумента и т.д.

т.е для аргументов [1, 2, 3] и [11, 22, 33] функция должна вернуть [1, 11, 2, 22, 3, 33].

Будет плюсом использование генераторов последовательностей для решения этой задачи.


Обьясните пожалуйста как это делается
источник

DD

Danil Danil in Сообщество Python Программистов
for i in list1:
   list3.append(i)
   for j in list2:
       list3.append(j)
источник

DD

Danil Danil in Сообщество Python Программистов
я делал так, но не оно(
источник

DD

Danil Danil in Сообщество Python Программистов
почти н онет(
источник

Ю

Юрий in Сообщество Python Программистов
Danil Danil
написать функцию, которая принимает в качестве аргументов два списка, а возвращает список, состоящий из элементов этих двух списков, при чем первый элемент списка - первый элемент первого аргумента, второй элемент списка - первый элемент второго списка, третий элемент - второй элемент первого списка, четвертый - второй элемент второго аргумента и т.д.

т.е для аргументов [1, 2, 3] и [11, 22, 33] функция должна вернуть [1, 11, 2, 22, 3, 33].

Будет плюсом использование генераторов последовательностей для решения этой задачи.


Обьясните пожалуйста как это делается
l1 = [1, 2, 3]
l2 = [11, 22, 33]
[l1.insert(l2.index(i)*2+1, i) for i in l2]
источник

GS

Gerr Spiegel in Сообщество Python Программистов
можно еще .zip юзать
источник

Ю

Юрий in Сообщество Python Программистов
В функцию надеюсь сам обернешь
источник

DD

Danil Danil in Сообщество Python Программистов
Юрий
В функцию надеюсь сам обернешь
Да) спасибо)
источник

DD

Danil Danil in Сообщество Python Программистов
Юрий
В функцию надеюсь сам обернешь
+
источник

K

KarmaBot in Сообщество Python Программистов
Вы увеличили карму Юрий до 89.08 (+1.00)
источник

DD

Danil Danil in Сообщество Python Программистов
Gerr Spiegel
можно еще .zip юзать
а как?
источник

DD

Danil Danil in Сообщество Python Программистов
zip же вроде для кортежей
источник

А

Айван in Сообщество Python Программистов
Бензофуран Гетероцикл
Вопрос с аттрибутом класса всё ещё актуален
Ну так переопредели его в дочерних ¯\_(ツ)_/¯
источник

Ю

Юрий in Сообщество Python Программистов
Danil Danil
zip же вроде для кортежей
l1 = [1, 2, 3]
l2 = [11, 22, 33]
l3 = list(zip(l1, l2))

Но он тебе пары кортежей сделает. Потом надо будет их распаковывать.
источник

А

Айван in Сообщество Python Программистов
Юрий
l1 = [1, 2, 3]
l2 = [11, 22, 33]
[l1.insert(l2.index(i)*2+1, i) for i in l2]
Я уже сходу хотел похвалить но присмотрелся и… что за?
1. Почему в итоге получается массив из None? Он тебе нужен? Нет? Тогда используй обычный for, а не изворачивайся с компрехами чтобы "лишь бы сделать в одну строку"
2. Норм менять переданный массив?
3. list.index находит первый элемент. Если будут повторяться просто не сработает
источник

DD

Danil Danil in Сообщество Python Программистов
Айван
Я уже сходу хотел похвалить но присмотрелся и… что за?
1. Почему в итоге получается массив из None? Он тебе нужен? Нет? Тогда используй обычный for, а не изворачивайся с компрехами чтобы "лишь бы сделать в одну строку"
2. Норм менять переданный массив?
3. list.index находит первый элемент. Если будут повторяться просто не сработает
опа, заявочка))))))
источник

DD

Danil Danil in Сообщество Python Программистов
Айван
Я уже сходу хотел похвалить но присмотрелся и… что за?
1. Почему в итоге получается массив из None? Он тебе нужен? Нет? Тогда используй обычный for, а не изворачивайся с компрехами чтобы "лишь бы сделать в одну строку"
2. Норм менять переданный массив?
3. list.index находит первый элемент. Если будут повторяться просто не сработает
а я даже не задебажил((
источник

DD

Danil Danil in Сообщество Python Программистов
Айван
Я уже сходу хотел похвалить но присмотрелся и… что за?
1. Почему в итоге получается массив из None? Он тебе нужен? Нет? Тогда используй обычный for, а не изворачивайся с компрехами чтобы "лишь бы сделать в одну строку"
2. Норм менять переданный массив?
3. list.index находит первый элемент. Если будут повторяться просто не сработает
через for не получается(
источник

А

Айван in Сообщество Python Программистов
Danil Danil
опа, заявочка))))))
Ну и да, лучшее что могу вспомнить это разделить на три строки:
res = []
for i in zip(arr1, arr2):
   res.extend(i)
return res
источник

DD

Danil Danil in Сообщество Python Программистов
а почему не append?
источник