如何从python中获取多个输入(stdin)



这是stdin中的输入。所有的线路都在一条新线路上。

3
27 8
4 0 0 2 6 1 4 6
19 6
6 4 3 6 0 0
4 3
1 1 1

第一行(即3(表示查询数,即第2行(即27 8(和第3行(即4 0 0 2 6 1 4 6(是一个查询,第4行和第5行是第二个查询,而第6行和第7行是第三个查询。我想做的是,我想要一个列表中的所有备用行,即一个列表中的第2,4,6行(如a=[[27,8],[19,6],[4 3]](和另一个列表(如b=[[4,0,0,2,6,1,4,6],[6,4,3,6,0,0],[1,1,1]](中的第3,5,7行。从第二行开始,所有数字之间都有一个空格(" "(

假设您的输入都是数字,那么以下内容就可以了:

a = []
b = []
for _ in range(int(input())):
a.append( list(map(int, input().split())) )
b.append( list(map(int, input().split())) )
  • t.txt
3
27 8
4 0 0 2 6 1 4 6
19 6
6 4 3 6 0 0
4 3
1 1 1

-脚本

def convert_str_to_list(list1):
l1_new=[]
for i in list1:
res=i.split(' ')
a = list(map(int,res))
l1_new.append(a)
return l1_new
with open('t.txt','r') as file:
lst_file=file.read().splitlines()
l1 = lst_file[1::2]
# ['27 8', '19 6', '4 3']
l2 = lst_file[2::2]
# ['4 0 0 2 6 1 4 6', '6 4 3 6 0 0', '1 1 1']
l1=convert_str_to_list(l1)
l2=convert_str_to_list(l2)

print(l1)
#[[27, 8], [19, 6], [4, 3]]
print(l2)
#[[4, 0, 0, 2, 6, 1, 4, 6], [6, 4, 3, 6, 0, 0], [1, 1, 1]]

相关内容

  • 没有找到相关文章

最新更新