Я изучаю python и имею рабочий код (показано ниже). Тем не менее, я хотел бы знать, есть ли лучший способ переписать его ниже.Python list popping and appending
То, что я пытаюсь сделать, это сопоставить список A, который передается методу против предопределенного списка B. Если элемент в списке A содержит элемент в списке B, я бы хотел его переместить в конец из списка А. Вот пример:
# example 1
a = [1, 2, 3, 4, 5]
sanitized_list = sanitize(a) # [3, 4, 5, 1, 2]
# example 2
a = [3, 6, 1, 7, 4]
sanitized_list = sanitize(a) # [3, 6, 7, 4, 1]
def sanitize(arg):
# predefined list
predefined_list = [1, 2]
for item in predefined_list:
try:
# check to see if 'arg' contain any item
# in the predefined list
i = arg.index(item)
# save the value of arg[i]
j = arg[i]
# remove "j" from "arg"
arg.pop(i)
# append item to end of "arg"
arg.append(j)
except ValueError:
pass
return arg
Этот вопрос, вероятно, лучше всего подходит для http://codereview.stackexchange.com – jonrsharpe
Первое, что я хотел бы сделать это используйте другое имя переменной для 'list'. Он затеняет тип по умолчанию. – karthikr