我正在完成以下HackerRank challenge。我得到以下输入:
4
2 4 5 9
4
2 4 11 12
让我们说虽然我只想要第2和第4行输入(并假设所有输入都是这样的)。目前我正在实施一个陈腐的解决方案:
seta = set()
setb = set()
delete = input()
seta = input().split()
delete = input()
setb = input().split()
我稍后在程序中不使用delete
。是否有更好,更准确和简洁的前进方式?
答案 0 :(得分:1)
循环遍历sys.stdin
object;它是一个常规文件并支持迭代。您可以使用itertools.islice()
object跳过每隔一行:
import sys
from itertools import islice
second_lines = islice(sys.stdin, None, None, 2)
seta = set(map(int, next(second_lines).split()))
setb = set(map(int, next(second_lines).split()))