为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Json 文件过滤单词列表

使用 Json 文件过滤单词列表

慕桂英546537 2023-06-20 14:38:56
我的 Json 文件:{  "countries": [  "Australia", "France", "Belgium"  ]}我有一个index_list = ['Germany', 'USA, 'Ireland, Australia, "France", Belgium, "Kenya", "Spain" 我想过滤掉 json 文件中的所有国家/地区。data_json= json.dumps(data["countries"])res = filter(lambda i: i not in data_json, index_list)print(res)这给了我<filter object at 0x0000022D05C0E6A0>错误。
查看完整描述

3 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

您可以将 JSON 数据转换为 list() 并使用列表理解过滤其他数据。


import json


data_json = list(json.load(open('file.json'))['countries'])


index_list = ['Germany', 'USA', 'Ireland', 'Australia', "France", 'Belgium', "Kenya", "Spain"]


answer = [country for country in index_list if country not in data_json]

print(answer)


查看完整回答
反对 回复 2023-06-20
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

您可以循环遍历所有元素并检查它们是否存在于 json 列表中,而不是过滤器


import json


data = {"countries": ["Australia", "France", "Belgium"]}


index_list = ["Germany", "USA", "Ireland", "Australia", "France", "Belgium", "Kenya", "Spain"]


data_json= json.dumps(data["countries"]) 

res = [item for item in index_list if item not in data_json] 

print(res)

结果:['Germany', 'USA', 'Ireland', 'Kenya', 'Spain']


查看完整回答
反对 回复 2023-06-20
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

这是熊猫索引的一种方法。我们不需要循环(或列表理解),因为 Index 包含一个difference()方法。


import pandas as pd


data = {"countries": ["Australia", "France", "Belgium"]}

index_list = ["Germany", "USA", "Ireland", "Australia", "France", 

              "Belgium", "Kenya", "Spain"]


result = pd.Index(index_list).difference(data['countries']).to_list()

print(result)


['Germany', 'Ireland', 'Kenya', 'Spain', 'USA']


查看完整回答
反对 回复 2023-06-20
  • 3 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信