找出两段话中不同的国家
下面是数据,找出不在第二段话里面的第一段话中的国家
- 中国、韩国、印度、美国、英国、加拿大、德国、意大利 法国、俄罗斯、日本、欧洲联盟、印度尼西亚、墨西哥、南非共和国、沙特阿拉伯、土耳其、澳大利亚、阿根廷、巴西
- 美国、英国、法国、德国、意大利、加拿大、爱尔兰、荷兰、比利时、卢森堡、奥地利、瑞士、挪威、冰岛、丹麦、瑞典、西班牙、葡萄牙、希腊、土耳其、日本(1964年)、芬兰(1969年)、澳大利亚(1971年)、新西兰(1973年)、墨西哥(1994年)、捷克(1995年)、匈牙利(1996年)、波兰(1996年)、韩国(1996年)、斯洛伐克(2000年)、智利(2010年)、斯洛文尼亚(2010年)、爱沙尼亚(2010年)、以色列(2010年)、拉脱维亚(2016年)、立陶宛(2018年)、哥伦比亚(2020年)、哥斯达黎加
首先将两段话分别提取为列表,去掉括号
string1 = "中国、韩国、印度、美国、英国、加拿大、德国、意大利、法国、俄罗斯、日本、欧洲联盟、印度尼西亚、墨西哥、南非共和国、沙特阿拉伯、土耳其、澳大利亚、阿根廷、巴西"
string2 = "美国、英国、法国、德国、意大利、加拿大、爱尔兰、荷兰、比利时、卢森堡、奥地利、瑞士、挪威、冰岛、丹麦、瑞典、西班牙、葡萄牙、希腊、土耳其、日本(1964年)、芬兰(1969年)、澳大利亚(1971年)、新西兰(1973年)、墨西哥(1994年)、捷克(1995年)、匈牙利(1996年)、波兰(1996年)、韩国(1996年)、斯洛伐克(2000年)、智利(2010年)、斯洛文尼亚(2010年)、爱沙尼亚(2010年)、以色列(2010年)、拉脱维亚(2016年)、立陶宛(2018年)、哥伦比亚(2020年)、哥斯达黎加"
string_list_1 = []
string_list_2 = []
#分割
string_list_1 = string1.split('、')
string_list_2_temp = string2.split('、')
#去括号
for word in string_list_2_temp:
if word.find('('):
temp = word.split('(')
string_list_2.append(temp[0])
else:
string_list_2.append(word)
然后使用set进行去重和查找
string2set = set()
for word in string_list_2:
string2set.add(word)
result_lsit = []
for word in string_list_1:
if word not in string2set:
result_lsit.append(word)
解决问题