亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

結合2個python函數

結合2個python函數

慕桂英546537 2023-12-20 14:05:56
我有兩個獨立的功能,可以完美地工作,但我無法將它們組合起來。這是第一個:with open('/topladder/top_fr', 'r') as file1:    with open('/topladder/top_pression', 'r') as file2:        same = set(file1).intersection(file2)with open('/topladder/pr_top_fr', 'w') as file_out:    for line in same:        file_out.write(line)我在文件上得到了很好的結果,幾行,如下所示:#000000#111111#AAAAAA第二個從 JSON 文件中提取數據,如下所示:    data = json.loads(response)    for p in data ["items"]:            if p["tag"] == #BBBBBB :                print("%s %s %s" % (                    p["rank"],                    p["name"],                    p["trophies"],))我也得到了很好的結果。但是,我想使用第一個腳本的結果并結合兩個腳本執行以下操作,而不是手動放置標簽:with open('/topladder/top_fr', 'r') as file1:    with open('/topladder/top_pression', 'r') as file2:        same = set(file1).intersection(file2)    data = json.loads(response)    for p in data ["items"]:        for line in same:            if p["tag"] == line :                print("%s %s %s" % (                    p["rank"],                    p["name"],                    p["trophies"],))但是,沒有結果...我想我還沒有到此為止,謝謝您!
查看完整描述

1 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

line以換行符結尾,您需要在與 進行比較之前將其刪除p["tag"]。


if p["tag"] == line.strip():

您可以通過在創建集合時刪除它們來更有效地完成此操作:


same = set(x.strip() for x in set(file1).intersection(file2))

也不需要循環same,使用in.


for p in data["items"]:

    if p["tag"] in same:

        print("%s %s %s" % (

            p["rank"],

            p["name"],

            p["trophies"],

        ))


查看完整回答
反對 回復 2023-12-20
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號