my_list = []
while some_condition:
read = input()
my_list.append(read.split())
my_list[-1][1] = int(my_list[-1][1])
Now let's break it down:
- Create an empty list,
- Keep on reading from stdin (you get str here)
- add read element to your list by splitting it (it will create a new list).
- Turn second element of last inserted item to integer.
EDIT
That's what it runs like:
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]]