假设我有2个名单:
a=['LOL','GG','rofl']
b=['5 KEK muh bobo LOL', 'LOL KEK bobo bobo GG']
如何检查b中第一个元素中的第一个元素是否存在?
答案 0 :(得分:4)
就是这样:
a[0] in b[0] # will return True or False
也许你想检查所有这些:
set(i for i in a for j in b if i in j)
或
{i for i in a for j in b if i in j} #Python 2.7+
答案 1 :(得分:2)
Python实际上非常强大。你可以这样做。
a[0] in b[0]
答案 2 :(得分:1)
如果你只需要知道它是否在字符串中:
if a[0] in b[0]: pass
但是,上面的问题是这两个都会返回true:
if "LOL" in "a b LOL c": pass
if "LOL" in "a b xxLOLxx c": pass
因此,只要你的分隔符是一致的,你就会关心单词和简单存在:
if a[0] in b[0].split(" "): pass
如果您需要知道哪个词位置:
idx = b[0].split().index(a[0]) # note, throws a ValueError if not in the list
如果你需要知道字符串中的位置:
idx = b[0].find(a[0]) # returns -1 if not found
如果你想知道a中的每个元素是否在b的相应元素中(忽略任一列表中的额外条目):
[(i[0] in i[1]) for i in zip(a, b)] # to check for simple membership
[(i[0] in i[1].split()) for i in zip(a, b)] # to check for whole words
答案 3 :(得分:0)
您可以这样做:
a[0] in b[0]
如果可以在b的第一个元素中找到a的第一个元素,则返回True,否则返回False。