Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 22, 2010 04:46:03

Kixiro
От:
Зарегистрирован: 2009-09-06
Сообщения: 27
Репутация: +  1  -
Профиль   Отправить e-mail  

Как проще определить входит ли данный список в состав другого

Есть два списка a и b где len(a) <= len(b) , к примеру:

a = ['asdf','qwer']
b = ['jl','asdf','sfsdf','qwer','joiji']
Как проще всего определить, что все элементы a содержаться в b ?
У меня получилось только вот так:
def mass(a,b):
k = 0
for i in a:
if i in b:
k = 1
else:
return 0
return k
Но я уверен, что можно на много проще… только не знаю как….



Офлайн

#2 Ноя. 22, 2010 04:58:04

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Как проще определить входит ли данный список в состав другого

result = not (set(a)-set(b))
или
result = not set(a).difference(b)



Отредактировано (Ноя. 22, 2010 05:01:24)

Офлайн

#3 Ноя. 22, 2010 05:29:11

Kixiro
От:
Зарегистрирован: 2009-09-06
Сообщения: 27
Репутация: +  1  -
Профиль   Отправить e-mail  

Как проще определить входит ли данный список в состав другого

Isem
result = not (set(a)-set(b))
или
result = not set(a).difference(b)
Спасибо! то что нужно….



Офлайн

#4 Ноя. 23, 2010 11:42:12

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

Как проще определить входит ли данный список в состав другого

>>> a = ['asdf','qwer']
>>> b = ['jl','asdf','sfsdf','qwer','joiji']
>>> set(a).issubset(b)
True
>>>
ещё способ, можно установить, что множества не равны, в отличие от issubset()

>>> a = ['asdf','qwer']
>>> b = ['jl','asdf','sfsdf','qwer','joiji']
>>> set(a) < set(b)
True
>>>



Отредактировано (Ноя. 23, 2010 11:47:07)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version