如何在Python中测试字符串是否部分包含在列表中
我有以下清单:如何在Python中测试字符串是否部分包含在列表中,python,list,Python,List,我有以下清单: list1 = ['tom.frank.phillips','jimmy.fund.roberts','markus.shane.sherman','glen.carl.smith'] 我正在尝试测试此列表中是否包含以下名称: nameslist = ['shane', 'frank', 'dale', 'roberts', 'smith', 'tony'] 如果它们不包含在原始列表的任何位置,那么我想打印名称 我试过: for name in nameslist:
list1 = ['tom.frank.phillips','jimmy.fund.roberts','markus.shane.sherman','glen.carl.smith']
我正在尝试测试此列表中是否包含以下名称:
nameslist = ['shane', 'frank', 'dale', 'roberts', 'smith', 'tony']
如果它们不包含在原始列表的任何位置,那么我想打印名称
我试过:
for name in nameslist:
if name not in list1:
print(name)
但是当我这样做的时候,所有的名字都会被打印出来。这些名字都不是
list1
的元素。您需要检查名称是否是list1
的任何元素的子字符串
if not any(name in full_name for full_name in list1):
print(name)
另一种方法是简单地连接所有的长名称;然后对单个字符串使用中的:
all_names = ' '.join(list1)
for name in names list:
if not name in all_names:
print(name)