Найти - Пользователи
Полная версия: Цикл для списков
Начало » Python для новичков » Цикл для списков
1
dsafal
Добрый день!
Нужно помощь с циклом.

Допустим есть два списки:
и

Необходимо написать цикл, который бы поочередно подставлял в формулу с двумя аргументами значения из списков, как бы сравнивая их.

1 6
1 7
1 8

2 6
2 7

3 6
3 7

И так далее

Только начинаю учить python и пока не справляюсь с такими задачами.
Буду благодарна за помощь
py.user.next
Используй тег code, иначе списки стираются движком форума.
Пример
[code python] 
print('Hello')
[/code]
doza_and
dsafal
в формулу с двумя аргументами
 for i,j in zip(list0,list1):
   compare(i,j)
Rodegast
В приличных языках для этого есть функция zipWith, но поскольку “Должен существовать один и, желательно, только один очевидный способ сделать это” в python-е для этой цели используется функция map (если что это был сарказм).
 >>> s1 = [0,1,2,3]
>>> s2 = [0,1,2,100]
>>> map(lambda x,y: x==y, s1, s2)
[True, True, True, False]
dsafal
Спасибо всем за ответы!

А не подскажите ещё, как справится с тем, что длина списков разная?
doza_and
dsafal
А не подскажите ещё, как справится с тем, что длина списков разная?

А чего справляться, оно не сломается на списках разной длины.
py.user.next
dsafal
А не подскажите ещё, как справится с тем, что длина списков разная?
Если zip() подошёл, то itertools.zip_longest() надо брать.
  
>>> import itertools
>>> 
>>> list(itertools.zip_longest('abc', '12'))
[('a', '1'), ('b', '2'), ('c', None)]
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB