Używanie funkcji startswith () wewnątrz list w pythonie

Miałem listę z następującymi ciągami poniżej

some_list = ['9196358485','9966325645','8846853128','8-4-236/2','9-6-32/45','Need to fetch some strings']

Z powyższych ciągów chcę tylko ciągów, które nie zaczynają się od91,9,8 ale chcę zacząć od smyczków8-, 9-

więc poniżej jest mój kod

[i for i in some_list if all(not i.startswith(x) for x in ['91','8','9'])]

wynik:

['Need to fetch some strings']

W powyższym, używając['91','8','9'] ponieważ warunek usuwa łańcuchy zaczynające się od9 and 8 co jest poprawne, ale nie chcę9-, 8- również, aby zostać usuniętym z listy, w rzeczywistości moim zamiarem jest, jeśli ciągi zaczynające się od9 and 8 powinny być ignorowane jak powyżej i łańcuchy zaczynające się od9- and 8- nie należy ignorować, czy możemy napisać dwa warunki w jednym wierszu z koncepcją rozpoczynania ciągów8-,9- i ignorowanie, gdy zaczyna się łańcuch9 or 8 w powyższym kodzie napisałem.

Czy ktoś może mi powiedzieć, jak to zrobić .............

Edytowany kod:

Dzięki za wszystkie wsparcie dla u r, jeśli nie sądzisz, że to kolejne pytanie, na które miałem jakieś rzeczywiste wyjście, na którym nie działa poniższy kod

some_list = ['Mr K V  Prasad Reddy(MD)',
 '+(91)-9849633132, 9959455935',
 '+(91)-9849633132',
 'Near NRI College,Opp Vijaya Bank,Nizam Pet Road,Nizampet,Hyderabad - 502102',
 '9196358485',
 '9966325645', 
 '8846853128',
 '8-4-236/2',
 '9-6-32/45',
 'Need to fetch some strings']

Kiedy zastosuję kod bwlow za pomocą wyrażenia regularnego, otrzymałem następujący wynikwynik:

['Mr K V  Prasad Reddy(MD)',
 '+(91)-9849633132, 9959455935',
 '+(91)-9849633132',
 'Near NRI College,Opp Vijaya Bank,Nizam Pet Road,Nizampet,Hyderabad - 502102',
 '8-4-236/2',
 '9-6-32/45',
 'Need to fetch some strings']

Właściwie nie chcę wszystkich numerów telefonów z listy, więc będą one w powyższym formacie, czasami zaczynając od91 czasami8 czasami9

Jak możemy usunąć wszystkie te numery telefonów z listy?

questionAnswers(1)

yourAnswerToTheQuestion