结合2个pythons函数
我有两个分开的函数,它们工作得很好,但我不能将它们组合起来。 这是第一个:结合2个pythons函数,python,Python,我有两个分开的函数,它们工作得很好,但我不能将它们组合起来。 这是第一个: 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 lin
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
data = json.loads(response)
for p in data ["items"]:
if p["tag"] == #BBBBBB :
print("%s %s %s" % (
p["rank"],
p["name"],
p["trophies"],
))
第二个从JSON文件中提取数据,如下所示:
#000000
#111111
#AAAAAA
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"],
))
然而,没有结果。。。我想我还不远
提前谢谢
line
以换行符结尾,在与p[“tag”]
进行比较之前,您需要删除该换行符
通过在创建集合时删除它们,可以更有效地执行此操作:
same = set(x.strip() for x in set(file1).intersection(file2))
也不需要在中循环相同的,在中使用
for p in data["items"]:
if p["tag"] in same:
print("%s %s %s" % (
p["rank"],
p["name"],
p["trophies"],
))
您已经给出了两个代码段,而不是两个函数。“脚本”和“函数”在Python中不是同义词。作为第一步,将这两个代码片段抽象为实际函数,这些函数具有明确定义的输入参数,并且通过返回值而不是打印值来工作。一旦你清除了这个障碍,你就可以担心如何将这两个函数合并成一个函数。好的,很抱歉用错了术语。然而,你能不能提出一个解决方案?