python处理日常|【一】去重,找出两段话中不同的国家

找出两段话中不同的国家

下面是数据,找出不在第二段话里面的第一段话中的国家

  • 中国、韩国、印度、美国、英国、加拿大、德国、意大利 法国、俄罗斯、日本、欧洲联盟、印度尼西亚、墨西哥、南非共和国、沙特阿拉伯、土耳其、澳大利亚、阿根廷、巴西
  • 美国、英国、法国、德国、意大利、加拿大、爱尔兰、荷兰、比利时、卢森堡、奥地利、瑞士、挪威、冰岛、丹麦、瑞典、西班牙、葡萄牙、希腊、土耳其、日本(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)

解决问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值