Python是一种十分强大的编程语言,在处理数据方面也有着很大的优势。当涉及到输入多行数据时,Python提供了很多解决方案,本文将从多个角度探讨如何在Python中输入N行数据。
一、使用input()函数
最基本的方法是使用input()函数,它可以从控制台接收用户输入的数据。代码如下:
```
n = int(input())
data = []
for i in range(n):
data.append(input())
print(data)
```
这段代码首先使用input()函数获取了一个整数n,表示要输入的行数。接着使用for循环来获取n行数据,并且加入到一个列表中。最后将这个列表输出。
二、使用sys.stdin
还有一种方法是利用sys.stdin来接受大量的输入。这种方式比较适合数据量较大而且需要处理多个测试用例的情况。代码如下:
```
import sys
data = []
for line in sys.stdin:
data.append(line.strip())
print(data)
```
这段代码使用了sys.stdin来获取输入,使用了一个for循环来不断循环,直到没有输入为止。在每一次循环中,使用append()函数将输入加入列表中。需要注意的是,input()函数是以回车符作为结束标志,而sys.stdin则是以EOF为结束标志,因此需要使用strip()函数去掉每一行末尾的回车符。
三、使用文件输入
除了从控制台输入和使用stdin之外,还可以从文件中获取输入。这种方法通常用于数据量较大且不方便进行手动输入的情况。代码如下:
```
file = open("data.txt", "r")
data = file.readlines()
file.close()
print(data)
```
这段代码使用了Python的文件操作,打开“data.txt”文件,并将其中的每一行读入一个列表中。需要注意的是,读出来的每一行都包含一个换行符,因此需要使用strip()函数去掉。
四、使用numpy库
对于需要处理矩阵和数组数据的情况,numpy库可以提供更为方便的输入方法。代码如下:
```
import numpy as np
n = int(input())
data = np.zeros((n, n))
for i in range(n):
arr = np.array(input().split(), dtype=int)
data[i] = arr
print(data)
```
这段代码使用np.zeros()函数来创建一个n行n列的二维数组。然后使用for循环来获取输入的每一行,将其按照空格分隔后转换为一个整型数组,并将其放入二维数组中。
总结一下,Python提供了多种多样的方法来输入N行数据,我们可以根据场景来选择最合适的输入方式。无论是从控制台输入、使用stdin还是读取文件,或者是使用numpy库来处理矩阵和数组数据,Python都有自己独特的解决方案。
微信扫一扫,领取最新备考资料