Уведомления

Группа в Telegram: @pythonsu

#1 Май 30, 2014 15:34:02

Ilya
Зарегистрирован: 2014-05-25
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Списки

Почему код во всех трех случаях выдает вхождение этих элементов в список? Хотя в списке нет семерки.

b=[(0 and 1 and 2),(6 and 7 and 8),(2 and 4 and 6)]
a=[1,2,3,4,5,6,8,9,0]
def logic():
    for i in range(3):
        if b[i] in a:
            print ("b in a")
        else:
            print ("b isn't in a")
logic()

Офлайн

#2 Май 30, 2014 15:49:06

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Списки

Ilya
Хотя в списке нет семерки.

>>> b=[(0 and 1 and 2),(6 and 7 and 8),(2 and 4 and 6)]
>>> b
[0, 8, 6]



Офлайн

#3 Май 30, 2014 15:51:02

Ilya
Зарегистрирован: 2014-05-25
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Списки

А как правильно сделать чтобы происходил поиск нескольких определенных элементов в списке?

Офлайн

#4 Май 30, 2014 15:56:45

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Списки

Ilya
А как правильно сделать чтобы происходил поиск нескольких определенных элементов в списке?

>>> {0, 8}.issubset(set(b))
True

>>> 0 in b and 8 in b
True

>>> all(elem in b for elem in [0, 8])
True



Отредактировано Budulianin (Май 30, 2014 16:22:04)

Офлайн

#5 Май 30, 2014 15:59:57

Ilya
Зарегистрирован: 2014-05-25
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Списки

Можете пояснить?
У меня много троек чисел и их поиск производится в списке.

Отредактировано Ilya (Май 30, 2014 16:01:52)

Офлайн

#6 Май 30, 2014 16:03:38

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Списки

Ilya
Можете пояснить?

Что именно?



Офлайн

#7 Май 30, 2014 16:06:18

Ilya
Зарегистрирован: 2014-05-25
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Списки

issubset выдает ошибку при работе со списком.
Вот у меня есть список a и набор троек чисел. Как производить поиск этих троек чисел в списке? Вбивать огромный код для каждого b как-то глупо.

Офлайн

#8 Май 30, 2014 16:17:32

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Списки

Ilya
issubset выдает ошибку при работе со списком.
Вот это глупо.

Я привёл 3 примера, любой из них подойдёт.

b=[(0 and 1 and 2),(6 and 7 and 8),(2 and 4 and 6)]
a=[1,2,3,4,5,6,8,9,0]
def logic(a, b):
    return all(elem in a for elem in b)  
if logic(a, b):
    print ("b in a")
else:
    print ("b isn't in a")



Отредактировано Budulianin (Май 30, 2014 16:39:43)

Офлайн

#9 Май 30, 2014 17:25:22

Ilya
Зарегистрирован: 2014-05-25
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Списки

Спасибо. Правда все равно не то.

Офлайн

#10 Май 30, 2014 17:26:50

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Списки

Ilya
Спасибо. Правда все равно не то.
Значит пиши, что ты хочешь, яснее.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version