在python中将输入读取为嵌套列表
我是python新手。 我想将stdin中的输入读取为嵌套列表 Stdin:在python中将输入读取为嵌套列表,python,nested-lists,Python,Nested Lists,我是python新手。 我想将stdin中的输入读取为嵌套列表 Stdin: student1 90 student2 85 student3 98 我的名单如下: student = [['student1',90],['student2',85],['student3',98]] 有没有什么方法可以让我在不需要任何额外空间的情况下使用列表理解来阅读输入 这是一种方法 mystr = 'student1 90\nstudent2 85\nstudent3 98' [[i[0], int(
student1 90
student2 85
student3 98
我的名单如下:
student = [['student1',90],['student2',85],['student3',98]]
有没有什么方法可以让我在不需要任何额外空间的情况下使用列表理解来阅读输入 这是一种方法
mystr = 'student1 90\nstudent2 85\nstudent3 98'
[[i[0], int(i[1])] for i in (k.split() for k in mystr.split('\n'))]
# [['student1', 90], ['student2', 85], ['student3', 98]]
现在让我们把它分解一下:
In [1]: my_list = []
...: while True:
...: read = input()
...: my_list.append(read.split())
...: my_list[-1][1] = int(my_list[-1][1])
...: print(my_list)
...:
student 1
[['student', 1]]
student 2
[['student', 1], ['student', 2]]
student 3
[['student', 1], ['student', 2], ['student', 3]]
您必须将列表中的第二个元素更改为整数。除此之外,还有一个很好的解决方案。
In [1]: my_list = []
...: while True:
...: read = input()
...: my_list.append(read.split())
...: my_list[-1][1] = int(my_list[-1][1])
...: print(my_list)
...:
student 1
[['student', 1]]
student 2
[['student', 1], ['student', 2]]
student 3
[['student', 1], ['student', 2], ['student', 3]]