#python #list #insert
Вопрос:
Я начал изучать python всего несколько дней назад и столкнулся с проблемой.
Если, list=['tuesday','wednesday','friday','sunday']
Я пытаюсь написать функцию, чтобы я мог передать определенный номер индекса и значение для вставки, и вместо того, чтобы использовать list.insert(0,'monday')
затем list.insert(2,'thursday')
и так далее, Я мог бы напрямую передать индексы, например. ind = [0,2....]
и values = ['monday','thursday'....]
и получить результат в виде list = ['monday', 'tuesday','wednesday', 'thursday', 'friday', 'saturday', 'sunday']
пытался
list = ['tuesday','wednesday','friday','sunday'] indexes = [0,1,2,3] values = ['monday','thursday','saturday'] for index, value in (indexes, values): result = list.insert(index, value) print (result)
и многое другое, но потерпело неудачу…помощь была бы признательна
Ответ №1:
Вот вам и решение:
list = ['tuesday','wednesday','friday','sunday'] indexes = [0,3,5] values = ['monday','thursday','saturday'] result = list for index in range(len(indexes)): result.insert(indexes[index], values[index]) print (result)
Пожалуйста, примите во внимание, что возврат предназначен только для функций
Комментарии:
1. спасибо…это работает
Ответ №2:
Попробуй это
days = ['tuesday','wednesday','friday','sunday'] indexes = [0,3,5] values = ['monday','thursday','saturday'] for i in range(len(indexes)): days.insert(indexes[i], values[i]) return days
Комментарии:
1. ваш код похож на то, что я пытался, и выводом является трассировка ошибки значения (последний последний вызов) lt;ipython-input-1-8769b70b69eagt; в lt;ipython-input-1-8769b70b69eagt;lt;модульgt; 2 индекса = [0,1,2,3] 3 значения = [«понедельник», «четверг», «суббота»]- — — — lt;модульgt;gt; 4 для индекса, значение в (индексы, значения): 5 дней.вставьте(индекс, значение) 6 дней возврата Ошибка значения: слишком много значений для распаковки (ожидается 2)
2. Вы изменили список переменных на дни, как упоминалось
3. будь то дни или название списка, действительно не имеет значения….но после того, как вы внесете изменения в программу, это сработало бы, если бы мы дали печать(дней) вместо возврата…. и если бы ваша индексация была правильной….с вашей индексацией результат был бы [«понедельник», «четверг», «вторник», «среда», «пятница», «суббота», «воскресенье»] ответ @Eugenio идеален…. ура, приятель
4. Да, я просто так сказал, потому что иногда, когда я это делаю, это вступает в противоречие с первым списком python