0
0 комментариев

Есть список main_list, содержащий количество элементов n, причём 1<=n<=10 и два пустых списка list1 и list2. Каждый элемент списка main_list содержит два числа a и b, идущих подряд через один пробел, причём 1<=a<=100 и 1<=b<=100. Нужно из каждого элемента списка main_list извлечь значение a и добавить в список list1, а значение b - в список list2. Допустим,

main_list==['3 5', '1 2', '1 7']

Нужно получить list1==[3,1,1] и list2==[5,2,7]
Я пытался сделать так:

#создаём список main_list
main_list=['3 5', '1 2', '1 7']
#создаём списки list1 и list2
list1=list2=[]
for i in range(0,len(main_list)):
    #добавляем новый элемент в list1
    list1.append('')
    #добавляем новый элемент в list2
    list2.append('')
    #из i-го элемента списка main_list создаём список
    modification_list=list(main_list[i])
    #создаём индекс-счётчик для этого списка
    a=0
    #читаем цифры до пробела и заносим их
    #в i-й элемент (он же недавно добавленный) списка list1
    while modification_list[a]!=' ':
        list1[i]=modification_list[a]
        a=a+1
    #перешагиваем через пробел
    a=a+1
    #читаем цифры от пробела до конца и заносим их
    #в i-й элемент (он же недавно добавленный) списка list2
    for b in range(a, len(modification_list)):
    list2[i]=modification_list[b]
#преобразуем полученные данные из строкового типа в целочисленный
list1[i]=int(list1[i])
list2[i]=int(list2[i])
#выводим значения на экран
print(list1)
print(list2)

Но, после выполнения программы получил вот что:

>>>
[5, 2, 7, '', '', '']
[5, 2, 7, '', '', '']

Помогите

Изменен статус публикации
Добавить комментарий