Если я использую функцию zip, я не получаю желаемого результата. Я хочу объединить два списка, которые выглядят следующим образом: - список1 = [] список2 = [0]
Я хочу, чтобы вывод был как [0]. Если я использую zip(list1,list2), я получаю [] в качестве вывода.
Я не хочу использовать какой-либо другой метод, кроме zip. Есть ли способ получить вывод с помощью функции zip?
Функция zip() возвращает zip-объект, который является итератором кортежей, где первый элемент в каждом переданном итераторе объединяется вместе, а затем второй элемент в каждом переданном итераторе объединяется вместе и т. д. Но вы ожидаете итерацию числа не кортеж, вы должны использовать расширение list1.extend (list2).
Отвечает ли это на ваш вопрос? Есть ли функция, которая может заменить функцию «zip» в Python?
Проблема в том, что zip не используется для объединения ваших списков.
Вот правильная реализация
list1 = []
list2 = [0]
result=list1+list2
print(result)
# result output: [0]
Однако функция zip используется как итератор между списками. ниже приведен пример, который поможет вам с концепцией
a = ("1", "2", "3")
b = ("A", "B", "C")
x = zip(a, b)
for i in x: # will loop through the items in x
print(i)
# result output:
# ('1', 'A')
# ('2', 'B')
# ('3', 'C')
метод zip не предназначен для этого. просто используйте метод добавления или расширения
a=[0,1]
b=[2,3]
c = a+b
c
>>> [0, 1, 2, 3]
a.extend([2,3])
a
>>> [0, 1, 2, 3]
нет... вам, по крайней мере, нужно использовать len или что-то в этом роде (или самый длинный izip... или просто написать свою собственную версию)