Я пытаюсь распечатать элементы в двух отдельных списках таким образом, чтобы элементы в list-1
совпадали с элементами в list-2
.
Вот моя попытка:
import numpy as np
list_1=[1,2,3,4]
list_2=np.arange(0.1,0.4,0.1)
for x in list_1:
j=x/2.0
for y in list_2:
print j,',', y
Мой результат:
0.5 , 0.1
0.5 , 0.2
0.5 , 0.3
0.5 , 0.4
1.0 , 0.1
1.0 , 0.2
1.0 , 0.3
1.0 , 0.4
1.5 , 0.1
1.5 , 0.2
1.5 , 0.3
1.5 , 0.4
2.0 , 0.1
2.0 , 0.2
2.0 , 0.3
2.0 , 0.4
Желаемый результат:
0.5 , 0.1
1.0 , 0.2
1.5 , 0.3
2.0 , 0.4
1 ответ
Вам нужно zip()
.
Пример:
>>> l1 = range(10)
>>> l2 = range(20,30)
>>> for x,y in zip(l1, l2):
print x, y
0 20
1 21
2 22
3 23
4 24
5 25
6 26
7 27
8 28
9 29
Объяснение:
zip
получает итерации, а затем выполняет итерацию по всем из них одновременно, начиная с элемента 0 каждого, затем переходя к 1-му, затем 2-му и так далее, как только любой из итераций достигает конца - zip остановится, вы можете использовать izip_longest
из < a href = "http://docs.python.org/2/library/itertools.html#itertools" rel = "nofollow"> itertools
, чтобы заполнить пустые элементы в итерациях с помощью None
(или вы можете сделать что-то более интересное - но это уже другой вопрос)
for x, y in zip(list_1, list_2): print '{}, {}'.format(x/2.0, y)
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.
range
- это не ответ,zip
- это ответ, вы можете использоватьzip
с numpy.