list_a = ['one', 'two', 'three', 'four', 'cat', 'dog', 'house', 'Spain', 'India', 'Portugal']
list_b = ['PortugalSpainIndiahousefourtwo', 'fivesixseveneight', 'nineteneleventwelve', 'JapanBrazilthirtyseventeen']
给定list_a和list_B,如何检查list_b中的项是否由list_a中的元素组成?
我试着按照python代码,但没有得到正确的结果。
final_list = []
for x in list_a:
for y in list_b:
if x in y:
y_update = y.replace(x, '')
final_list.append(y_update)
else:
final_list.append(y)
所需的输出应为final_list:['', 'fivesixseveneight', 'nineteneleventwelve', 'JapanBrazilthirtyseventeen']
3条答案
按热度按时间siv3szwd1#
不匹配列表
print(set(list_b).difference(set(matching_list)))
qzwqbdag2#
您可以通过将单词替换为相应数量的占位符字符(例如'*')来创建匹配位置的模式。如果字符串中的所有位置都至少替换了一次,则整个字符串由list_a中的单词组成。
要在此示例中说明“PortugalSpainIndiahousefourtwo”:
qltillow3#
关于
str.replace()
函数有一点:如果没有找到搜索字符串,它将返回原始字符串。记住这一点,代码非常简单: