#python #list #for-loop #while-loop
#python #Список #цикл for #цикл while
Вопрос:
list_from=[1,2,3,4,5,6,7,8,9,10]
list_from2=[a,b,c,d,e,f,g,h,i,j]
from_dict={list_from[i]:list_from2[i] for i in range(len(list_from2))}
list_to = [1,2,5,10]
save=[]
num=0
while num<=len(list_to):
try:
if list_to[num] in list_from:
save.append(from_dict[list_to[num]])
else:
save.append('')
num =1
except:
break
У меня есть код, подобный приведенному выше. Я хочу преобразовать этот код цикла while в цикл for.
(Также, если возможно, я хочу преобразовать в код для понимания списка)
Как я могу это сделать?
Спасибо за вашу помощь.
Комментарии:
1. Я думаю, что у меня была ошибка в коде. Кажется, что пустой список «сохранить» вводится дважды. Извините за это.
2. для числа в list_from
3.
from_dict = dict(zip(list_from, list_from2))
было бы проще.4. как было бы
save = [from_dict.get(x, '') for x in list_to]
.
Ответ №1:
Вы можете просто заменить свой
num = 0
while num <= len(list_to):
Автор:
for num in range(0, len(list_to)):
Таким образом, ваша переменная «num» автоматически принимала бы значение 0
, затем 1
, … len(list_to)-1
Ответ №2:
С помощью цикла For
for i in range(len(list_to)):
if list_to[i] in list_from:
save.append(from_dict[list_to[i]])
else:
save.append('')