簡體   English   中英

從 json 文件中查找共同值

[英]find common values from json file

我正在嘗試從 JSON 文件中查找與輸入用戶具有相同“p1”的用戶,然后返回所有這些用戶的名稱。 我是編碼新手,抱歉,如果這段代碼看起來不好

user1指的是輸入用戶

async def find_common_p1(user1):
    users = await get_json()
    for user in users:
        if users[str(user)]["p1"] == users[str(user1.id)]["p1"]:
            return users[str(user)]["name"]


async def get_json():
    with open("the json file", "r") as f:
        users = json.load(f)
    return users

json 文件內部如下所示:

{"user_1_id": {"name": "user_1", "p1": False}, 
"user_2_id": {"name": "user_2", "p1": True}, 
"user_3_id": {"name": "user_3", "p1": True}}

你在正確的軌道上,你的代碼:

async def find_common_p1(user1):
    users = await get_json()
    for user in users:
        if users[str(user)]["p1"] == users[str(user1.id)]["p1"]:
            return users[str(user)]["name"]

這將返回具有匹配“p1”的第一個用戶。 要返回具有匹配“p1”的所有用戶,您必須記住所有匹配的用戶,然后在 function 的末尾返回它。就像這樣

async def find_common_p1(user1):
    users = await get_json()
    users_with_matching_p1 = []
    for user in users:
        if users[str(user)]["p1"] == users[str(user1.id)]["p1"]:
            users_with_matching_p1.append(users[str(user)]["name"])
    
    return users_with_matching_p1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM