Найти - Пользователи
Полная версия: Пополнение списка внутри списка в цикле while
Начало » Python для новичков » Пополнение списка внутри списка в цикле while
1
romzes96
Здравствуйте. Не подскажите как реализовать пополнение списка внутри списка?
Пробовал вот так:
 Indexs = [] # Индефекатор
Date_of_deliverys = [] # Дата оказания
Doctor_codes = [] # Код врача
Name_of_doctors = [] # ФИО врача
Patients = [] # Пациент КОРЕНЬ пока что остается пустой
Address_Ps = [] # Адрес пациента
Attachment_Ps = [] # Прикрепление пациента
Birthday_Ps = [] # ДР пациента
Name_Ps = [] # ФИО пациента
OMS_policy_Ps = [] # Полис ОМС пациента
Insurance_Ps = [] # Страховка пациента
Code_sisters = [] # Код мед сестры
Name_sisters = [] # ФИО мед сестры
Amounts = [] # Сумма
Amount_of_errors = [] # Сумма ошибок
List_of_services = [] # Список услуг КОРЕНЬ пока что остаеться пустой
Service_Codes_LOSs = [] # Код услуги услуги
Diagnosis_LOSs = [] # Диагноз услуги/пациента
Type_of_diagnosis_LOSs = [] # Тип диагноза услуги/пациента
Service_ID_LOSs = [] # ID услуги услуги
Title_LOSs = [] # Название услуги
Multiplicity_LOSs = [] # Кратность
Sources = [] # Источник
Operators = [] # Операторы
Errors = [] # Ошибки
Obj = [Indexs, Date_of_deliverys, Doctor_codes, Name_of_doctors, Address_Ps, Attachment_Ps, Birthday_Ps, Name_Ps, OMS_policy_Ps, Insurance_Ps, Code_sisters, Name_sisters, Amounts, Amount_of_errors, Service_Codes_LOSs, Diagnosis_LOSs, Type_of_diagnosis_LOSs, Service_ID_LOSs, Title_LOSs, Multiplicity_LOSs, Sources, Operators, Errors]
print(len(Obj))
print(Obj[0])
print(type(Obj[0]))
i = 0
print(i)
while i <= len(Obj):
    #Obj[i].append(str(sheet.row(row)[i]))
    Obj[i].append(str('Тест'))
    i+=1

Но получаю ошибку:
IndexError: list index out of range

Можете подсказать решение данной проблемы?
rami
В строке кода while i < len(Obj): знак “равно” не нужен.
romzes96
rami
В строке кода while i < len(Obj): знак “равно” не нужен.
Спасибо за помощь. Но это не совсем то что нужно. Код изменен.
Вот пример кода, по логике в каждом списке из списка “Obj” должно появиться 100 str('Текст').
 Indexs = [] # Индефекатор
Date_of_deliverys = [] # Дата оказания
Doctor_codes = [] # Код врача
Name_of_doctors = [] # ФИО врача
Patients = [] # Пациент КОРЕНЬ пока что остается пустой
Address_Ps = [] # Адрес пациента
Attachment_Ps = [] # Прикрепление пациента
Birthday_Ps = [] # ДР пациента
Name_Ps = [] # ФИО пациента
OMS_policy_Ps = [] # Полис ОМС пациента
Insurance_Ps = [] # Страховка пациента
Code_sisters = [] # Код мед сестры
Name_sisters = [] # ФИО мед сестры
Amounts = [] # Сумма
Amount_of_errors = [] # Сумма ошибок
List_of_services = [] # Список услуг КОРЕНЬ пока что остаеться пустой
Service_Codes_LOSs = [] # Код услуги услуги
Diagnosis_LOSs = [] # Диагноз услуги/пациента
Type_of_diagnosis_LOSs = [] # Тип диагноза услуги/пациента
Service_ID_LOSs = [] # ID услуги услуги
Title_LOSs = [] # Название услуги
Multiplicity_LOSs = [] # Кратность
Sources = [] # Источник
Operators = [] # Операторы
Errors = [] # Ошибки
Obj = [Indexs, Date_of_deliverys, Doctor_codes, Name_of_doctors, Address_Ps, Attachment_Ps, Birthday_Ps, Name_Ps, OMS_policy_Ps, Insurance_Ps, Code_sisters, Name_sisters, Amounts, Amount_of_errors, Service_Codes_LOSs, Diagnosis_LOSs, Type_of_diagnosis_LOSs, Service_ID_LOSs, Title_LOSs, Multiplicity_LOSs, Sources, Operators, Errors]
print(len(Obj))
print(Obj[0])
print(type(Obj[0]))
x = 100
i = 0
print(i)
if x > 0:
    for k in range(0, x):
        while i <= len(Obj):
            Obj[i].append(str('Тест'))
            i+=1
print(i)
print(Obj[0])
print(Indexs[0])
print(Indexs[1])

Но в итоге получаю ошибку:
 IndexError: list index out of range
rami
Тогда, наверно лучше так:
 Indexs = [] # Индефекатор
Date_of_deliverys = [] # Дата оказания
Doctor_codes = [] # Код врача
Name_of_doctors = [] # ФИО врача
Patients = [] # Пациент КОРЕНЬ пока что остается пустой
Address_Ps = [] # Адрес пациента
Attachment_Ps = [] # Прикрепление пациента
Birthday_Ps = [] # ДР пациента
Name_Ps = [] # ФИО пациента
OMS_policy_Ps = [] # Полис ОМС пациента
Insurance_Ps = [] # Страховка пациента
Code_sisters = [] # Код мед сестры
Name_sisters = [] # ФИО мед сестры
Amounts = [] # Сумма
Amount_of_errors = [] # Сумма ошибок
List_of_services = [] # Список услуг КОРЕНЬ пока что остаеться пустой
Service_Codes_LOSs = [] # Код услуги услуги
Diagnosis_LOSs = [] # Диагноз услуги/пациента
Type_of_diagnosis_LOSs = [] # Тип диагноза услуги/пациента
Service_ID_LOSs = [] # ID услуги услуги
Title_LOSs = [] # Название услуги
Multiplicity_LOSs = [] # Кратность
Sources = [] # Источник
Operators = [] # Операторы
Errors = [] # Ошибки
Obj = [Indexs, Date_of_deliverys, Doctor_codes, Name_of_doctors, Address_Ps, Attachment_Ps, Birthday_Ps, Name_Ps, OMS_policy_Ps, Insurance_Ps, Code_sisters, Name_sisters, Amounts, Amount_of_errors, Service_Codes_LOSs, Diagnosis_LOSs, Type_of_diagnosis_LOSs, Service_ID_LOSs, Title_LOSs, Multiplicity_LOSs, Sources, Operators, Errors]
print(len(Obj))
print(Obj[0])
print(type(Obj[0]))
x = 100
#i = 0
#print(i)
if x > 0:
    for elem in Obj:              #для каждого элемента (списка) elem в Obj
        for k in range(0, x):     #повторяем x раз
            elem.append('Тест')   #добавляем что нужно
#print(i)
print(Obj[0])
print(Indexs[0])
print(Indexs[1])


или так (если нужно через while):
 if x > 0:
    while i < len(Obj):            #убрать 'равно'
        for k in range(0, x):      #повторяем x раз
            Obj[i].append('Тест')
        i+=1                       #обратить внимание на отступ, должен быть под 'for', а не под 'Obj'
Romissevd
 Indexs = [] # Индефекатор
Date_of_deliverys = [] # Дата оказания
Doctor_codes = [] # Код врача
Name_of_doctors = [] # ФИО врача
Patients = [] # Пациент КОРЕНЬ пока что остается пустой
Address_Ps = [] # Адрес пациента
Attachment_Ps = [] # Прикрепление пациента
Birthday_Ps = [] # ДР пациента
Name_Ps = [] # ФИО пациента
OMS_policy_Ps = [] # Полис ОМС пациента
Insurance_Ps = [] # Страховка пациента
Code_sisters = [] # Код мед сестры
Name_sisters = [] # ФИО мед сестры
Amounts = [] # Сумма
Amount_of_errors = [] # Сумма ошибок
List_of_services = [] # Список услуг КОРЕНЬ пока что остаеться пустой
Service_Codes_LOSs = [] # Код услуги услуги
Diagnosis_LOSs = [] # Диагноз услуги/пациента
Type_of_diagnosis_LOSs = [] # Тип диагноза услуги/пациента
Service_ID_LOSs = [] # ID услуги услуги
Title_LOSs = [] # Название услуги
Multiplicity_LOSs = [] # Кратность
Sources = [] # Источник
Operators = [] # Операторы
Errors = [] # Ошибки
Obj = [Indexs, Date_of_deliverys, Doctor_codes, Name_of_doctors, Address_Ps, Attachment_Ps, Birthday_Ps, Name_Ps, OMS_policy_Ps, Insurance_Ps, Code_sisters, Name_sisters, Amounts, Amount_of_errors, Service_Codes_LOSs, Diagnosis_LOSs, Type_of_diagnosis_LOSs, Service_ID_LOSs, Title_LOSs, Multiplicity_LOSs, Sources, Operators, Errors]
print(len(Obj))
print(Obj[0])
print(type(Obj[0]))
if x > 0:
    for k in range(0, x):
        i = 0
        while i < len(Obj):
            Obj[i].append(str('Тест'))
            i+=1
print(i)
print(Obj[0])
print(Indexs[0])
print(Indexs[1])
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB