Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 3, 2022 11:27:15

maguga
Зарегистрирован: 2022-11-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Обход итератора через присвоение переменной Python

     
for m in permutations("01", 1):
        for f in permutations("01", 1):
            print("m,f=", m, f)
Результат 4строчки
m,f= ('0',) ('0',)
m,f= ('0',) ('1',)
m,f= ('1',) ('0',)
m,f= ('1',) ('1',)

Когда используем переменные то результат другой
     
    am=permutations("01", 1)
    af=permutations("01", 1)
    for m in am:
        for f in af:
            print("m,f=", m, f)
Результат такой. Всего 2строчки.
m,f= ('0',) ('0',)
m,f= ('0',) ('1',)

Как используя переменные получить тот же результат?






Отредактировано maguga (Ноя. 3, 2022 11:29:12)

Офлайн

#2 Ноя. 3, 2022 11:50:28

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

Обход итератора через присвоение переменной Python

  
>>> for m in '01':
...     for f in '01':
...         print(m, f)
... 
0 0
0 1
1 0
1 1
>>>



Офлайн

#3 Ноя. 3, 2022 12:04:32

maguga
Зарегистрирован: 2022-11-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Обход итератора через присвоение переменной Python

py.user.next
permutations

permutations -это перестановки, а не просто строка.
если использовать
for m in permutations(“012”, 2)
то он вернет 01, 02, 10, 12, 20, 21

Использую переменную так, как в одном случае мне нужно цикл пройти по permutations() а в другом по combinations
for m in permutations(“012”, 2)
то он вернет 01, 02, 10, 12, 20, 21

for m in permutations(“012”, 2)
то он вернет 01, 02, 12

Офлайн

#4 Ноя. 3, 2022 13:27:15

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

Обход итератора через присвоение переменной Python

  
>>> import itertools
>>> 
>>> am = itertools.permutations('01', 1)
>>> for m in am:
...     af = itertools.permutations('01', 1)
...     for f in af:
...         print(m, f)
... 
('0',) ('0',)
('0',) ('1',)
('1',) ('0',)
('1',) ('1',)
>>>

  
>>> import itertools
>>> 
>>> am = tuple(itertools.permutations('01', 1))
>>> af = tuple(itertools.permutations('01', 1))
>>> 
>>> for m in am:
...     for f in af:
...         print(m, f)
... 
('0',) ('0',)
('0',) ('1',)
('1',) ('0',)
('1',) ('1',)
>>>



Отредактировано py.user.next (Ноя. 3, 2022 13:28:24)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version