Как я могу проверить, присутствуют ли определенные элементы из lst2 в lst1, и для всех элементов, которые есть, переместить их в конец lst1? Например, у меня есть lst1: «ананас», «яблоко», «апельсин», «банан», «груша» и lst2: «яблоко», «банан». Я хочу, чтобы lst1 стал: "ананас", "апельсин", "груша", "яблоко", "банан".
Сейчас я делаю это так:
f = open('bestuursleden.txt', 'r')
bestuur = f.read()
bestuur = " " + bestuur
bestuur = bestuur.split(",")
f.close()
f = open('namenlijst.txt', 'r')
studenten = f.read()
studenten = " " + studenten
studenten1 = studenten.split(",")
f.close()
studenten2 = sorted(studenten1, key=lambda x: x.split()[-1])
if ('apple' in studenten2):
studenten2.append(studenten2.pop(studenten2.index('apple')))
if ('banana' in studenten2):
studenten2.append(studenten2.pop(studenten2.index('banana')))
if ('orange' in studenten2):
studenten2.append(studenten2.pop(studenten2.index('orange')))
if ('pineapple' in studenten2):
studenten2.append(studenten2.pop(studenten2.index('pineapple')))
if ('raspberry' in studenten2):
studenten2.append(studenten2.pop(studenten2.index('raspberry')))
if ('strawberry' in studenten2):
studenten2.append(studenten2.pop(studenten2.index('strawberry')))
if ('watermelon' in studenten2):
studenten2.append(studenten2.pop(studenten2.index('watermelon')))
studenten3 = (','.join(studenten2))
studenten3 = studenten3[1:]
f = open('Gesorteerde lijst.txt', 'w')
f.write(studenten3)
f.close()
Я думаю, что должен быть какой-то способ сделать это более эффективно.