包含字符串的第一种写法:
l = ['aa','bcb', 'bcc']
b = 'bbc'
if b in " ".join(l):
print "aa"
else:
print "bbb"
结果:
bbb
包含字符串的第二种写法:
l = ['aa','bcb', 'bcc']
b = 'bbc'
if b in l:
print "aa"
else:
print "bbb"
结果:
bbb
----------------------------------------------------------------------------------------------------------------------------------
包含列表的第一种写法:
a = ['aa','bcb', 'bcc']
b = ['bbc', 'bcc', 'aaa']
for ch in a:
if ch in b:
print ch, "is in b"
else:
print ch, "is not in b"
结果:
aa is not in b
bcb is not in b
bcc is in b
包含列表的第二种写法:
import itertools
a = ['aa','bcb', 'bcc']
b = ['bbc', 'bcc', 'aaa']
for ch in itertools.ifilter(a.__contains__, b):
print ch, "is in b"
结果:
bcc is in b
这个方法没有用到if语句,所以只显示配对成功的。
----------------------------------------------------------------------------------------------------------------------------------
判断b是否包含a中的全部成员
a = ['aa','bcb', 'bcc']
b = ['bbc', 'bcc', 'aaa']
res = not set(a).difference(b)
print res
结果:
False
a = ['aaa', 'bcc']
b = ['bbc', 'bcc', 'aaa']
res = not set(a).difference(b)
print res
结果:
True
----------------------------------------------------------------------------------------------------------------------------------
返回a中所有不属于b的成员,以及b中所有不属于a的成员:
a = ['aa','bcb', 'bcc']
b = ['bbc', 'bcc', 'aaa']
print set(a).difference(b)
print set(b).difference(a)
结果:
set(['aa', 'bcb'])
set(['bbc', 'aaa'])
----------------------------------------------------------------------------------------------------------------------------------
返回a和b交集以外所有成员的集合:
a = ['aa','bcb', 'bcc']
b = ['bbc', 'bcc', 'aaa']
print set(a).symmetric_difference(b)
print set(b).symmetric_difference(a)
结果:
set(['aa', 'aaa', 'bbc', 'bcb'])
set(['aa', 'bbc', 'aaa', 'bcb'])
参考:
http://blog.shine-it.net/python/checking-whether-a-string-contains-a-set-of-characters
唐唐的代码