什么是Java的nextInt(),hasNext()的Python实现?

Tu *_*ang 4 python java

我有这个输入文件

1 2
10 2
81 3
23 6
2537857295 19
34271891003654321 1267253
Run Code Online (Sandbox Code Playgroud)

我正在读这样的文件

with open("powersearch.txt") as fileIn:
    for line in fileIn:
        print line
Run Code Online (Sandbox Code Playgroud)

我想知道我是否想要,对于每一行,将第一个整数存储为firstNum,第二个存储为secondNum.在Java我可以使用scanner,做nextInt()hasNext()得到的整数,什么是在Python等价?

S.L*_*ott 6

请丢弃Java的想法.他们只会让你感到困惑.

Python是一种不同的语言,你必须学习Pythonic方法.

这是一个例子.

with open("powersearch.txt") as fileIn:
    for firstNum, secondNum in ( map(int, line.split()) for line in fileIn ):
        print firstNum, secondNum
Run Code Online (Sandbox Code Playgroud)


orl*_*rlp 6

那么从你刚刚使用的字符串中解析一个int,字符串int(s)在哪里s.

我认为这将是您示例中最符合逻辑的方式:

with open("powersearch.txt") as fileIn:
    for line in fileIn:
        n1, n2 = (int(s) for s in line.split())
        print(n1, n2)
Run Code Online (Sandbox Code Playgroud)

Python是一种与Java不同的语言,在我看来更具表现力(我可以在一行中完成比Java更多的工作,并且仍然可以编写可读代码).如果你试图用Python编写Java东西,你会发现这种语言的效果远远不如它.