Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 17, 2021 07:40:43

dsafal
Зарегистрирован: 2021-04-17
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл для списков

Добрый день!
Нужно помощь с циклом.

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

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

1 6
1 7
1 8

2 6
2 7

3 6
3 7

И так далее

Только начинаю учить python и пока не справляюсь с такими задачами.
Буду благодарна за помощь

Офлайн

#2 Апрель 17, 2021 08:28:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Цикл для списков

Используй тег code, иначе списки стираются движком форума.
Пример

[code python] 
print('Hello')
[/code]



Отредактировано py.user.next (Апрель 17, 2021 08:28:55)

Офлайн

#3 Апрель 17, 2021 09:26:59

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Цикл для списков

dsafal
в формулу с двумя аргументами
 for i,j in zip(list0,list1):
   compare(i,j)



Офлайн

#4 Апрель 17, 2021 13:34:06

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2751
Репутация: +  184  -
Профиль   Отправить e-mail  

Цикл для списков

В приличных языках для этого есть функция 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]



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Апрель 17, 2021 13:45:50)

Офлайн

#5 Апрель 19, 2021 08:11:09

dsafal
Зарегистрирован: 2021-04-17
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл для списков

Спасибо всем за ответы!

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

Офлайн

#6 Апрель 19, 2021 19:47:31

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Цикл для списков

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

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



Офлайн

#7 Апрель 19, 2021 22:23:42

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Цикл для списков

dsafal
А не подскажите ещё, как справится с тем, что длина списков разная?
Если zip() подошёл, то itertools.zip_longest() надо брать.
  
>>> import itertools
>>> 
>>> list(itertools.zip_longest('abc', '12'))
[('a', '1'), ('b', '2'), ('c', None)]
>>>



Отредактировано py.user.next (Апрель 19, 2021 22:24:55)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version