2024-05-16 11:44:52 发布
网友
假设我有两个列表:
a=['LOL','GG','rofl'] b=['5 KEK muh bobo LOL', 'LOL KEK bobo bobo GG']
如何检查a中的第一个元素是否可以在b的第一个元素中找到?你知道吗
Python实际上非常健壮。你可以这样做。你知道吗
a[0] in b[0]
如果您只需要知道它是否在字符串中:
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
只是:
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+
Python实际上非常健壮。你可以这样做。你知道吗
如果您只需要知道它是否在字符串中:
但是,上面的问题是这两个都将返回true:
所以,如果你关心单词和简单的存在,只要你的分隔符是一致的:
如果你需要知道哪个词的位置:
如果需要知道字符串中的位置:
如果您想知道a中的每个元素是否在b的相应元素中(忽略任一列表上的额外条目):
只是:
也许你想检查所有这些:
或者
相关问题 更多 >
编程相关推荐