W Pythonie 3, jaki jest najkrótszy sposób sprawdzenia, czy predykat jest prawdziwy dla wszystkich znaków ciągu?Prawda dla wszystkich znaków ciągu
Odpowiedz
all(predicate(x) for x in string)
all(map(predicate, string))
Funkcjonalnie taka sama jak @ odpowiedź Abe, ale na mapie zamiast (także leniwy w python3)
Wadą tego podejścia jest to, że 'predicate (x)' jest czymś w rodzaju 'x [0]', w którym to przypadku do korzystania z mapy potrzebny jest moduł lambda lub operator. –
Zgadzam się, masz tę wadę (dodając 8 liter), gdy predykatu nie można wywołać, ale masz tę zaletę, że zastępujesz mapę leniwym wprowadzeniem mapy (lub jakiejkolwiek innej implementacji), jeśli na przykład predykat jest obciążający obliczeniowo. – SlimJim
- 1. Zmiana stylu wszystkich wystąpień ciągu znaków
- 2. Odwrotność wszystkich znaków alfabetu w ciągu C#
- 3. Kombinacja wszystkich możliwych przypadków ciągu znaków
- 4. Usunięcie wszystkich spacji z ciągu znaków
- 5. Uzyskiwanie wszystkich znaków po ostatnim znaku "-" w ciągu znaków
- 6. Usunięcie wszystkich wystąpień kilku znaków z ciągu znaków
- 7. Usuwanie wszystkich białych znaków z ciągu znaków w Ruby
- 8. Maskowanie wszystkich znaków ciągu, z wyjątkiem ostatnich n znaków
- 9. Funkcja skrótu dla ciągu znaków
- 10. Maksymalna zgodność dla ciągu znaków
- 11. MongoDB: Usuwanie wszystkich kolekcji, których nazwa pasuje do ciągu znaków
- 12. Zastępowanie wszystkich wystąpień ciągu znaków wartościami z tablicy
- 13. Ustaw domyślną wartość zachęty dla ciągu znaków
- 14. jeden dziesiętny dla formatu ciągu znaków
- 15. Szybsza struktura danych dla wyszukiwania ciągu znaków
- 16. Znaczniki HTML w ciągu znaków dla TextView
- 17. Usuwanie znaków z ciągu znaków
- 18. Sprawdzanie ciągu znaków Pythona dla znaków ze znakami escape
- 19. RegEx dla zastąpienia wszystkich znaków oprócz cyfr
- 20. Wartość prawdy ciągu znaków w pythoniu
- 21. ASP.NET MVC 4 Zdefiniuj szablon wyświetlania tylko dla ciągu znaków
- 22. Usuwanie wielu typów znaków z ciągu znaków
- 23. Zamień wiele znaków w ciągu znaków (XSLT)
- 24. layoutManager boundingRectForGlyphRange: inTextContainer: nie działa dla wszystkich ciągów znaków
- 25. grep bez ciągu znaków
- 26. Tłumaczenie przypisanego ciągu znaków
- 27. Pierwsze 10 znaków ciągu?
- 28. Nieokreślona stała ciągu znaków
- 29. Opcje inicjalizacji ciągu znaków
- 30. Parsowanie ciągu znaków
... i to nie tylko najkrótsze, ale najbardziej skuteczne jeden, bo a) jest za pomocą generator i b) 'all()', więc iteracja zatrzymuje się przy pierwszym predykacie 'False'. –