在python中将输入读为嵌套列表

时间:2018-02-16 11:42:47

标签: python nested-lists

我是python的新手。 我想从stdin读取输入作为嵌套列表。

STDIN:

student1 90
student2 85
student3 98

我的清单应如下:

student = [['student1',90],['student2',85],['student3',98]]

有没有办法可以使用列表理解来读取输入,而无需任何额外的空间。

2 个答案:

答案 0 :(得分:1)

这是一种方式。

mvn clean

答案 1 :(得分:0)

my_list = []
while some_condition:
  read = input()
  my_list.append(read.split())
  my_list[-1][1] = int(my_list[-1][1])

现在让我们分解一下:

  1. 创建一个空列表,
  2. 继续阅读stdin(你得到str)
  3. 通过拆分将读取元素添加到列表中(它将创建一个新列表)。
  4. 将最后插入项目的第二个元素转换为整数。
  5. 修改 这就是它的运行方式:

    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]]