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)

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']

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']
添加回答
舉報